From 01455bdf30ad5d3d922e4cf5dc1a4c6469ac32aa Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 23 Jun 2025 10:48:44 -0700 Subject: [PATCH 01/22] Use typedoc for Documentation Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .gitignore | 1 + package-lock.json | 872 ++++++---------------------- package.json | 5 +- packages/millicast-sdk/README.md | 167 ++++++ packages/millicast-sdk/package.json | 2 +- packages/millicast-sdk/typedoc.json | 24 + typedoc.base.json | 7 + typedoc.json | 8 + 8 files changed, 394 insertions(+), 692 deletions(-) create mode 100644 packages/millicast-sdk/README.md create mode 100644 packages/millicast-sdk/typedoc.json create mode 100644 typedoc.base.json create mode 100644 typedoc.json diff --git a/.gitignore b/.gitignore index 9c36b523..febe4c2e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ test-environment.js **/src/TransformWorker.worker.ts vite.config.*.timestamp-* .nx/ +docs-json/ diff --git a/package-lock.json b/package-lock.json index 91661a86..28fc7ef8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "events": "^3.3.0", "js-base64": "^3.7.7", "js-logger": "^1.6.1", - "jsdoc-i18n-plugin": "^0.0.3", "jwt-decode": "^3.1.2", "re-emitter": "^1.1.4", "semantic-sdp": "^3.22.0", @@ -31,7 +30,6 @@ "@babel/plugin-transform-runtime": "^7.13.10", "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", - "@changesets/cli": "^2.27.1", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.8.0", "@maslick/radiaslider": "^1.9.8", @@ -74,8 +72,6 @@ "jest-environment-node": "^29.4.1", "jest-puppeteer": "^9.0.1", "jest-websocket-mock": "^2.2.0", - "jsdoc": "^4.0.2", - "jsdoc-export-default-interop": "^0.3.1", "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", @@ -88,6 +84,8 @@ "swc-loader": "0.1.15", "ts-jest": "^29.1.0", "ts-node": "10.9.1", + "typedoc": "^0.28.5", + "typedoc-plugin-mdn-links": "^5.0.2", "typescript": "^5.6.3", "underscore": "^1.13.1", "vite": "^5.2.10", @@ -1959,301 +1957,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@changesets/apply-release-plan": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.5.tgz", - "integrity": "sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/config": "^3.0.3", - "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.1", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^2.7.1", - "resolve-from": "^5.0.0", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.4.tgz", - "integrity": "sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/assemble-release-plan/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/changelog-git": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", - "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0" - } - }, - "node_modules/@changesets/cli": { - "version": "2.27.9", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.9.tgz", - "integrity": "sha512-q42a/ZbDnxPpCb5Wkm6tMVIxgeI9C/bexntzTeCFBrQEdpisQqk8kCHllYZMDjYtEc1ZzumbMJAG8H0Z4rdvjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/apply-release-plan": "^7.0.5", - "@changesets/assemble-release-plan": "^6.0.4", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.3", - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/get-release-plan": "^4.0.4", - "@changesets/git": "^3.0.1", - "@changesets/logger": "^0.1.1", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.1", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.2", - "@manypkg/get-packages": "^1.1.3", - "ansi-colors": "^4.1.3", - "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "mri": "^1.2.0", - "p-limit": "^2.2.0", - "package-manager-detector": "^0.2.0", - "picocolors": "^1.1.0", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0" - }, - "bin": { - "changeset": "bin.js" - } - }, - "node_modules/@changesets/cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/config": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.3.tgz", - "integrity": "sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/logger": "^0.1.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" - } - }, - "node_modules/@changesets/errors": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", - "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", - "dev": true, - "license": "MIT", - "dependencies": { - "extendable-error": "^0.1.5" - } - }, - "node_modules/@changesets/get-dependents-graph": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.2.tgz", - "integrity": "sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "picocolors": "^1.1.0", - "semver": "^7.5.3" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@changesets/get-release-plan": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.4.tgz", - "integrity": "sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/assemble-release-plan": "^6.0.4", - "@changesets/config": "^3.0.3", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.1", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", - "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/git": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.1.tgz", - "integrity": "sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@manypkg/get-packages": "^1.1.3", - "is-subdir": "^1.1.1", - "micromatch": "^4.0.2", - "spawndamnit": "^2.0.0" - } - }, - "node_modules/@changesets/logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.1.tgz", - "integrity": "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.1.0" - } - }, - "node_modules/@changesets/parse": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", - "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "js-yaml": "^3.13.1" - } - }, - "node_modules/@changesets/pre": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.1.tgz", - "integrity": "sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3", - "fs-extra": "^7.0.1" - } - }, - "node_modules/@changesets/read": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.1.tgz", - "integrity": "sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/git": "^3.0.1", - "@changesets/logger": "^0.1.1", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0", - "picocolors": "^1.1.0" - } - }, - "node_modules/@changesets/should-skip-package": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.1.tgz", - "integrity": "sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "@manypkg/get-packages": "^1.1.3" - } - }, - "node_modules/@changesets/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", - "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@changesets/write": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.2.tgz", - "integrity": "sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@changesets/types": "^6.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^2.7.1" - } - }, "node_modules/@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -2333,9 +2036,9 @@ } }, "node_modules/@dolbyio/webrtc-stats": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@dolbyio/webrtc-stats/-/webrtc-stats-1.0.2.tgz", - "integrity": "sha512-hpXUbtJl+yQOGBACWFfFsYFJrBbY8N+pdo5CHQVVKm4CvGaFai6gfW/ged0Hce9G/CvnF2HcZ54jhsnyMYwx4A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@dolbyio/webrtc-stats/-/webrtc-stats-1.0.4.tgz", + "integrity": "sha512-QOo1TVQSI3NVaSWG1p3JopLkTDB9z94t9Bi1JvJwaQbwrEkLwGXccOX9U+FjroUsfSh9QK2tlifKJifedEBa7w==", "license": "MIT", "dependencies": { "js-logger": "^1.6.1" @@ -2856,6 +2559,20 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@gerrit0/mini-shiki": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.6.0.tgz", + "integrity": "sha512-KaeJvPNofTEZR9EzVNp/GQzbQqkGfjiu6k3CXKvhVTX+8OoAKSX/k7qxLKOX3B0yh2XqVAc93rsOu48CGt2Qug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-oniguruma": "^3.6.0", + "@shikijs/langs": "^3.6.0", + "@shikijs/themes": "^3.6.0", + "@shikijs/types": "^3.6.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -3700,78 +3417,6 @@ "node": ">=v12.0.0" } }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", - "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.5.5", - "@changesets/types": "^4.0.1", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - } - }, - "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", - "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/@maslick/radiaslider": { "version": "1.9.8", "resolved": "https://registry.npmjs.org/@maslick/radiaslider/-/radiaslider-1.9.8.tgz", @@ -5632,6 +5277,55 @@ "string-argv": "~0.3.1" } }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.6.0.tgz", + "integrity": "sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.6.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.6.0.tgz", + "integrity": "sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.6.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.6.0.tgz", + "integrity": "sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.6.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", + "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -6135,6 +5829,16 @@ "@types/node": "*" } }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -6205,7 +5909,8 @@ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/long": { "version": "4.0.2", @@ -6220,6 +5925,7 @@ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" @@ -6230,7 +5936,8 @@ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/minimatch": { "version": "5.1.2", @@ -6297,6 +6004,13 @@ "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", "license": "MIT" }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -8010,19 +7724,6 @@ "node": ">=10.0.0" } }, - "node_modules/better-path-resolve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", - "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-windows": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -8075,7 +7776,8 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/boxen": { "version": "7.0.0", @@ -8520,6 +8222,7 @@ "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lodash": "^4.17.15" }, @@ -8673,13 +8376,6 @@ "node": ">=10" } }, - "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, - "license": "MIT" - }, "node_modules/check-error": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", @@ -9813,16 +9509,6 @@ "node": ">=0.4.0" } }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -11327,41 +11013,6 @@ "node": ">=0.10.0" } }, - "node_modules/extendable-error": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", - "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -12777,13 +12428,6 @@ "node": ">= 6" } }, - "node_modules/human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", - "dev": true, - "license": "MIT" - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -13061,19 +12705,6 @@ "node": ">=0.8.19" } }, - "node_modules/in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true, - "license": "ISC", - "bin": { - "in-install": "in-install.js", - "in-publish": "in-publish.js", - "not-in-install": "not-in-install.js", - "not-in-publish": "not-in-publish.js" - } - }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -13617,19 +13248,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-subdir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", - "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "better-path-resolve": "1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", @@ -18979,6 +18597,7 @@ "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "xmlcreate": "^2.0.4" } @@ -18996,6 +18615,7 @@ "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", @@ -19020,44 +18640,13 @@ "node": ">=12.0.0" } }, - "node_modules/jsdoc-export-default-interop": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/jsdoc-export-default-interop/-/jsdoc-export-default-interop-0.3.1.tgz", - "integrity": "sha512-8dXuye0ZZcfHO/u3xk3A4TSb2LgWo6HbhoVIj1Igrrpq4t61UnjMIXiqpq6xj4oQgrZHgSy8AWdhNB899BcfFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "in-publish": "^2.0.0", - "lodash": "^4.0.1" - } - }, - "node_modules/jsdoc-i18n-plugin": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/jsdoc-i18n-plugin/-/jsdoc-i18n-plugin-0.0.3.tgz", - "integrity": "sha512-JftMOa8qMbITtzdZFWkgjk8WABJ0rjZjwO7FsTCQBWtYJl6OrdWKJf7hkbLUPmrh7j2EnJMg6j1xnSYWOulsbw==", - "license": "MIT", - "dependencies": { - "mkdirp": "^0.5.1" - } - }, - "node_modules/jsdoc-i18n-plugin/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/jsdoc/node_modules/escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19258,6 +18847,7 @@ "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.1.9" } @@ -19642,13 +19232,6 @@ "dev": true, "license": "MIT" }, - "node_modules/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, - "license": "MIT" - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -19867,6 +19450,13 @@ "yallist": "^3.0.2" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true, + "license": "MIT" + }, "node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -19970,6 +19560,7 @@ "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, "license": "Unlicense", + "peer": true, "peerDependencies": { "@types/markdown-it": "*", "markdown-it": "*" @@ -19988,6 +19579,7 @@ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -20116,6 +19708,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -20148,6 +19741,7 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -39719,23 +39313,6 @@ "node": ">=0.10.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/outdent": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", - "dev": true, - "license": "MIT" - }, "node_modules/p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -39749,29 +39326,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", - "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", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -40118,16 +39672,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", @@ -40541,13 +40085,6 @@ "dev": true, "license": "MIT" }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true, - "license": "ISC" - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -40898,32 +40435,6 @@ "node": ">=8" } }, - "node_modules/read-yaml-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", - "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-yaml-file/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -41148,6 +40659,7 @@ "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lodash": "^4.17.21" } @@ -42504,83 +42016,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/spawndamnit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", - "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/spawndamnit/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/spawndamnit/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "license": "ISC", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/spawndamnit/node_modules/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, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/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, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/spawndamnit/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true, - "license": "ISC" - }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -43097,19 +42532,6 @@ "node": ">=6" } }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -43753,6 +43175,79 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typedoc": { + "version": "0.28.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.5.tgz", + "integrity": "sha512-5PzUddaA9FbaarUzIsEc4wNXCiO4Ot3bJNeMF2qKpYlTmM9TTaSHQ7162w756ERCkXER/+o2purRG6YOAv6EMA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@gerrit0/mini-shiki": "^3.2.2", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.7.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 18", + "pnpm": ">= 10" + }, + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + } + }, + "node_modules/typedoc-plugin-mdn-links": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-5.0.2.tgz", + "integrity": "sha512-Bd3lsVWPSpDkn6NGZyPHpcK088PUvH4SRq4RD97OjA6l8PQA3yOnJhGACtjmIDdcenRTgWUosH+55ANZhx/wkw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typedoc": "0.27.x || 0.28.x" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typedoc/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, "node_modules/typescript": { "version": "5.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", @@ -45166,7 +44661,8 @@ "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index 9cc0e056..80fa83c7 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "events": "^3.3.0", "js-base64": "^3.7.7", "js-logger": "^1.6.1", - "jsdoc-i18n-plugin": "^0.0.3", "jwt-decode": "^3.1.2", "re-emitter": "^1.1.4", "semantic-sdp": "^3.22.0", @@ -90,8 +89,6 @@ "jest-environment-node": "^29.4.1", "jest-puppeteer": "^9.0.1", "jest-websocket-mock": "^2.2.0", - "jsdoc": "^4.0.2", - "jsdoc-export-default-interop": "^0.3.1", "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", @@ -104,6 +101,8 @@ "swc-loader": "0.1.15", "ts-jest": "^29.1.0", "ts-node": "10.9.1", + "typedoc": "^0.28.5", + "typedoc-plugin-mdn-links": "^5.0.2", "typescript": "^5.6.3", "underscore": "^1.13.1", "vite": "^5.2.10", diff --git a/packages/millicast-sdk/README.md b/packages/millicast-sdk/README.md new file mode 100644 index 00000000..fba150ff --- /dev/null +++ b/packages/millicast-sdk/README.md @@ -0,0 +1,167 @@ +[![npm](https://img.shields.io/npm/v/@millicast/sdk)](https://www.npmjs.com/package/@millicast/sdk) +[![GitHub](https://img.shields.io/badge/GitHub-_?logo=GitHub&labelColor=black&color=blue)](https://github.com/millicast/millicast-sdk) +[![Documentation](https://img.shields.io/badge/Documentation-_?logo=readthedocs&labelColor=black&color=blue)](https://millicast.github.io/millicast-sdk/) + +This Software Development Kit (SDK) for JavaScript allows developers to simplify Millicast services integration into their own web apps. + +## Table of Contents + +- [Installation](#installation) +- [Basic Usage](#basic-usage) + - [Publisher app](#publisher-app) + - [Viewer app](#viewer-app) +- [Documentation](#documentation) +- [Samples](#samples) +- [JS Frameworks](#js-frameworks) + - [React Native](#react-native) +- [SDK developer information](#sdk-developer-information) +- [License](#license) + +## Installation + +You can use the CDN version of the SDK adding this tag to your document's ``. Then `millicast` global variable will be available to use it. + +```html + +``` + +Or if you are building an application with Node.js, you can install the SDK package to your dependencies. + +```sh +npm i --save @millicast/sdk +``` + +## Basic Usage + +The following examples demonstrate how to broadcast with the Publisher app capturing the user's camera and microphone. You can then view the stream using the Viewer app. + +You will need to use a [Dolby Millicast account](https://streaming.dolby.io/) with a valid publishing token. + +### Publisher app + +Please be sure to set up the credentials filling up the `yourStreamName` and `yourPublishingToken` fields. + +In vanilla JavaScript: + +`publisher.html` + +```html + + + + + + + + + + +``` + +### Viewer app + +Please be sure to set up the credentials filling up the `yourStreamName` and `yourStreamAccountId` fields. + +In vanilla JavaScript: + +`viewer.html` + +```html + + + + + + + + + + + + +``` + +## Documentation + +The [Documentation](https://docs.optiview.dolby.com/millicast/) provides an overview of the Dolby Millicast services. This includes a [Getting Started](https://docs.optiview.dolby.com/millicast/getting-started/) guide as a quick start. + +The [SDK Documentation](https://millicast.github.io/millicast-sdk/) details the Modules, Classes, and APIs you can use during development. + +### Samples + +There are several packages that implement a publisher and viewer. These samples can be run and inspected for examples of how to implement various features. + +- [millicast-publisher-demo](https://github.com/millicast/millicast-sdk/tree/main/packages/millicast-publisher-demo#readme) +- [millicast-viewer-demo](https://github.com/millicast/millicast-sdk/tree/main/packages/millicast-viewer-demo#readme) +- [millicast-webaudio-delay-demo](https://github.com/millicast/millicast-sdk/tree/main/packages/millicast-webaudio-delay-demo#readme) +- [millicast-multiview-demo](https://github.com/millicast/millicast-sdk/tree/main/packages/millicast-multiview-demo#readme) + +## JS Frameworks + +This section is intended to explain how properly integrate this SDK with different JS frameworks, with links to official guides that will contain a more step by step oriented explanation on how to do it. + +Right now, we only have a React Native guide. + +### React Native + +This SDK can be used for React Native based projects. In order to accomplish this integration, some configuration steps are needed. This library assumes all webRTC methods are natively defined (usually, inside web browsers). However this is not the case for native Android/iOS native applications. In order to solve this, we have tested and worked along with [React Native webRTC project](https://github.com/react-native-webrtc/react-native-webrtc) for this purpose. + +Check out this guide on [how to integrate Millicast JS SDK with React Native webRTC](https://docs.optiview.dolby.com/millicast/playback/players-sdks/react-native/)! + +## SDK developer information + +To develop and contribute to this project, there are some instructions of how to set up your environment to start contributing. [Follow this link.](https://github.com/millicast/millicast-sdk/blob/main/CONTRIBUTING.md) + +## License + +Please refer to [LICENSE](https://github.com/millicast/millicast-sdk/blob/main/LICENSE) file. diff --git a/packages/millicast-sdk/package.json b/packages/millicast-sdk/package.json index f7ead05d..be0a6e70 100644 --- a/packages/millicast-sdk/package.json +++ b/packages/millicast-sdk/package.json @@ -18,7 +18,7 @@ ], "scripts": { "build": "nx build @millicast/sdk", - "build-docs": "jsdoc -c jsdoc.json -R ../../README.md", + "build-docs": "typedoc", "start-docs": "npm run build-docs && serve docs", "test-unit": "npm run build && jest --testMatch '**/unit/*.steps.js'", "test-unit-coverage": "npm run build && jest --testMatch '**/unit/*.steps.js' --coverage", diff --git a/packages/millicast-sdk/typedoc.json b/packages/millicast-sdk/typedoc.json new file mode 100644 index 00000000..e06fefd3 --- /dev/null +++ b/packages/millicast-sdk/typedoc.json @@ -0,0 +1,24 @@ +{ + "extends": ["../../typedoc.base.json"], + "name": "Millicast SDK", + "json": "../../docs-json/millicast-sdk.json", + "entryPoints": ["src/index.ts"], + "entryPointStrategy": "expand", + "excludeExternals": true, + "excludePrivate": true, + "excludeNotDocumented": true, + "excludeNotDocumentedKinds": ["Property", "Interface", "TypeAlias"], + "plugin": ["typedoc-plugin-mdn-links"], + "externalSymbolLinkMappings": { + // used by {@link !Promise} + "global": { + "MediaStreamConstraints": "https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints", + "Error": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error" + }, + "typescript": { + "MediaStreamConstraints": "https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints", + "Error": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error" + } + }, + "out": "docs" +} \ No newline at end of file diff --git a/typedoc.base.json b/typedoc.base.json new file mode 100644 index 00000000..604fb4cb --- /dev/null +++ b/typedoc.base.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "navigationLinks": { + "GitHub": "https://github.com/millicast/millicast-sdk" + }, + "includeVersion": true +} diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 00000000..23ed47c2 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,8 @@ +{ + "extends": ["./typedoc.base.json"], + "name": "Dolby Millicast", + "entryPointStrategy": "merge", + "entryPoints": ["docs-json/*.json"], + "includeVersion": false, + "out": "docs" +} From 155c091a2046b6d04ff24ed8fa27514dbe4fa76c Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Sun, 29 Jun 2025 21:39:11 +0200 Subject: [PATCH 02/22] Major updates to the SDK workflow Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package-lock.json | 216 ++- package.json | 6 - .../src/viewer.ts | 30 +- .../src/multiviewer.ts | 51 +- .../src/js/MillicastPublishUserMedia.ts | 16 +- .../millicast-publisher-demo/src/publisher.ts | 19 +- .../src/types/MillicastMedia.types.ts | 2 +- packages/millicast-sdk/README.md | 33 +- packages/millicast-sdk/package.json | 20 +- packages/millicast-sdk/src/Director.ts | 281 +-- packages/millicast-sdk/src/PeerConnection.ts | 22 +- .../millicast-sdk/src/PeerConnectionStats.ts | 2 +- .../src/{Publish.ts => Publisher.ts} | 225 +-- packages/millicast-sdk/src/Signaling.ts | 92 +- .../millicast-sdk/src/{View.ts => Viewer.ts} | 399 +++-- packages/millicast-sdk/src/index.ts | 18 +- .../millicast-sdk/src/types/Director.types.ts | 17 +- .../{Publish.types.ts => Publisher.types.ts} | 34 +- .../src/types/Signaling.types.ts | 2 +- .../src/types/TransformWorker.types.ts | 2 +- .../types/{View.types.ts => Viewer.types.ts} | 171 +- packages/millicast-sdk/src/types/events.ts | 240 +++ packages/millicast-sdk/src/types/index.d.ts | 1595 ----------------- packages/millicast-sdk/src/types/others.ts | 6 + .../millicast-sdk/src/utils/BaseWebRTC.ts | 117 +- packages/millicast-sdk/src/utils/Codecs.ts | 2 +- .../src/utils/TypedEventEmitter.ts | 23 + .../millicast-sdk/src/utils/Validators.ts | 4 +- .../tests/e2e/FunctionalPublish.steps.js | 4 +- .../millicast-sdk/tests/e2e/PublishTest.js | 23 +- .../tests/e2e/PuppeteerJest.html | 7 +- packages/millicast-sdk/tests/e2e/ViewTest.js | 6 +- .../tests/features/LoggerDiagnose.feature | 10 +- .../tests/features/ManageSignaling.feature | 41 +- .../{Publish.feature => Publisher.feature} | 35 +- .../features/{View.feature => Viewer.feature} | 13 +- .../tests/unit/BaseWebRTC.steps.js | 2 +- .../unit/GetPublisherConnectionPath.steps.js | 10 +- .../unit/GetSubscriberConnectionPath.steps.js | 10 +- .../tests/unit/LoggerDiagnose.steps.js | 99 +- .../tests/unit/LoggerHandlers.steps.js | 16 +- .../tests/unit/LoggerLevels.steps.js | 4 +- .../tests/unit/ManagePeerConnection.steps.js | 8 +- .../tests/unit/ManageSignaling.steps.js | 80 +- .../tests/unit/PeerConnectionEvent.steps.js | 38 +- .../{Publish.steps.js => Publisher.steps.js} | 76 +- .../tests/unit/PublisherReconnect.steps.js | 53 +- .../tests/unit/SetLocalDescription.steps.js | 2 +- .../unit/{View.steps.js => Viewer.steps.js} | 60 +- .../tests/unit/ViewerReconnect.steps.js | 63 +- packages/millicast-viewer-demo/src/viewer.ts | 51 +- .../src/viewer.ts | 13 +- typedoc.base.json | 3 +- typedoc.json | 2 +- 54 files changed, 1644 insertions(+), 2730 deletions(-) rename packages/millicast-sdk/src/{Publish.ts => Publisher.ts} (53%) rename packages/millicast-sdk/src/{View.ts => Viewer.ts} (59%) rename packages/millicast-sdk/src/types/{Publish.types.ts => Publisher.types.ts} (83%) rename packages/millicast-sdk/src/types/{View.types.ts => Viewer.types.ts} (55%) create mode 100644 packages/millicast-sdk/src/types/events.ts delete mode 100644 packages/millicast-sdk/src/types/index.d.ts create mode 100644 packages/millicast-sdk/src/types/others.ts create mode 100644 packages/millicast-sdk/src/utils/TypedEventEmitter.ts rename packages/millicast-sdk/tests/features/{Publish.feature => Publisher.feature} (88%) rename packages/millicast-sdk/tests/features/{View.feature => Viewer.feature} (81%) rename packages/millicast-sdk/tests/unit/{Publish.steps.js => Publisher.steps.js} (73%) rename packages/millicast-sdk/tests/unit/{View.steps.js => Viewer.steps.js} (64%) diff --git a/package-lock.json b/package-lock.json index 28fc7ef8..723dc949 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,12 +66,6 @@ "eslint-plugin-promise": "^6.6.0", "husky": "^4.3.8", "install": "^0.13.0", - "jest": "^29.4.1", - "jest-cucumber": "^3.0.1", - "jest-environment-jsdom": "^29.7.0", - "jest-environment-node": "^29.4.1", - "jest-puppeteer": "^9.0.1", - "jest-websocket-mock": "^2.2.0", "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", @@ -7734,6 +7728,19 @@ "node": "*" } }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -8389,6 +8396,44 @@ "node": "*" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -12625,6 +12670,13 @@ "node": ">= 4" } }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -12837,6 +12889,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -36017,6 +36082,48 @@ "dev": true, "license": "MIT" }, + "node_modules/nodemon": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", + "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -36268,6 +36375,20 @@ "node": ">=8" } }, + "node_modules/npm-watch": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.13.0.tgz", + "integrity": "sha512-MYcgocqCzYA44feZhFoYj69FfSaO0EeRE1gcRcmPaXIpNhUMAhNJ1pwic2C4Hn0OPOQmZKSl90CPgmwvOsVhTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "nodemon": "^3.0.1", + "through2": "^4.0.2" + }, + "bin": { + "npm-watch": "cli.js" + } + }, "node_modules/npm/node_modules/@colors/colors": { "version": "1.5.0", "dev": true, @@ -40092,6 +40213,13 @@ "dev": true, "license": "MIT" }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true, + "license": "MIT" + }, "node_modules/pump": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", @@ -40450,6 +40578,19 @@ "node": ">= 6" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -41634,6 +41775,32 @@ "dev": true, "license": "ISC" }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", @@ -42712,6 +42879,16 @@ "dev": true, "license": "MIT" }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tiny-typed-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", @@ -42837,6 +43014,16 @@ "node": ">=6" } }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, "node_modules/tough-cookie": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", @@ -43354,6 +43541,13 @@ "ieee754": "^1.1.13" } }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true, + "license": "MIT" + }, "node_modules/underscore": { "version": "1.13.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", @@ -44793,7 +44987,15 @@ "name": "@millicast/sdk", "version": "1.0.0", "license": "See in LICENSE file", - "devDependencies": {} + "devDependencies": { + "jest": "^29.4.1", + "jest-cucumber": "^3.0.1", + "jest-environment-jsdom": "^29.7.0", + "jest-environment-node": "^29.4.1", + "jest-puppeteer": "^9.0.1", + "jest-websocket-mock": "^2.2.0", + "npm-watch": "^0.13.0" + } }, "packages/millicast-viewer-demo": {}, "packages/millicast-webaudio-delay-demo": {} diff --git a/package.json b/package.json index 80fa83c7..86338cfd 100644 --- a/package.json +++ b/package.json @@ -83,12 +83,6 @@ "eslint-plugin-promise": "^6.6.0", "husky": "^4.3.8", "install": "^0.13.0", - "jest": "^29.4.1", - "jest-cucumber": "^3.0.1", - "jest-environment-jsdom": "^29.7.0", - "jest-environment-node": "^29.4.1", - "jest-puppeteer": "^9.0.1", - "jest-websocket-mock": "^2.2.0", "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", diff --git a/packages/millicast-chromecast-receiver/src/viewer.ts b/packages/millicast-chromecast-receiver/src/viewer.ts index 014acc04..3b8d8195 100644 --- a/packages/millicast-chromecast-receiver/src/viewer.ts +++ b/packages/millicast-chromecast-receiver/src/viewer.ts @@ -1,10 +1,10 @@ -import { View, Director, Logger } from '@nx-millicast/millicast-sdk' +import { Viewer, Director, Logger, LayersEventPayload } from '@nx-millicast/millicast-sdk' import { DirectorSubscriberOptions } from 'packages/millicast-sdk/src/types/Director.types' window.Logger = Logger if (import.meta.env.MILLICAST_DIRECTOR_ENDPOINT) { - Director.setEndpoint(import.meta.env.MILLICAST_DIRECTOR_ENDPOINT) + Director.endpoint = import.meta.env.MILLICAST_DIRECTOR_ENDPOINT } const addStream = (stream) => { @@ -20,21 +20,19 @@ const removeStream = () => { } const subscribe = async (streamName, streamAccountId) => { - const options: DirectorSubscriberOptions = { streamName, streamAccountId } - const tokenGenerator = () => Director.getSubscriber(options) - const millicastView = new View(tokenGenerator) - millicastView.on('broadcastEvent', (event) => { - const layers = event.data.layers !== null ? event.data.layers : {} - if (event.name === 'layers' && Object.keys(layers).length <= 0) { - // call play logic or being reconnect interval - close().then(() => { - subscribe(streamName, streamAccountId) - }) - console.error('Feed no longer found.') - } - }) + const millicastView = new Viewer({ streamName, streamAccountId }) + // millicastView.on('layers', (event: LayersEventPayload) => { + // const layers = event.layers !== null ? event.layers : {} + // if (Object.keys(layers).length <= 0) { + // // call play logic or being reconnect interval + // close().then(() => { + // subscribe(streamName, streamAccountId) + // }) + // console.error('Feed no longer found.') + // } + // }) - millicastView.on('newTrack', (event) => { + millicastView.on('track', (event) => { addStream(event.streams[0]) }) diff --git a/packages/millicast-multiview-demo/src/multiviewer.ts b/packages/millicast-multiview-demo/src/multiviewer.ts index 14170d93..8b95ad28 100644 --- a/packages/millicast-multiview-demo/src/multiviewer.ts +++ b/packages/millicast-multiview-demo/src/multiviewer.ts @@ -1,8 +1,8 @@ -import { View, Director } from '@nx-millicast/millicast-sdk' +import { Viewer, Director, ActiveEventPayload, InactiveEventPayload, LayersEventPayload } from '@nx-millicast/millicast-sdk' import { DirectorSubscriberOptions } from 'packages/millicast-sdk/src/types/Director.types' if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT) + Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT } // Get query params @@ -43,8 +43,6 @@ let transceiverMidToSourceIdMap = {} let transceiverToLayersMap = {} // Create a new viewer instance -const options: DirectorSubscriberOptions = { streamName, streamAccountId: accountId, subscriberToken } -const tokenGenerator = () => Director.getSubscriber(options, enableDRM) let viewer document.addEventListener('DOMContentLoaded', async () => { @@ -52,36 +50,31 @@ document.addEventListener('DOMContentLoaded', async () => { mainVideoElement = document.getElementById('mid-0') mainAudioElement = document.getElementById('mid-1') try { - viewer = new View(tokenGenerator) + viewer = new Viewer({ + streamName, + streamAccountId: accountId, + subscriberToken, + }) viewer.on('metadata', (metadata) => { console.log(`Metadata event from ${transceiverToSourceIdMap[metadata.mid] || 'main'}:`, metadata) }) // Listen for broadcast events - viewer.on('broadcastEvent', (event) => { - // Get event name and data - const { name, data } = event - switch (name) { - case 'active': { - const sourceId = data.sourceId || mainSourceId - if (sourceId === mainSourceId) { - addMainSource(data) - } else { - addRemoteSource(data) - } - addSourceOption(sourceId) - break - } - case 'inactive': { - const sourceId = data.sourceId || mainSourceId - unprojectAndRemoveVideo(sourceId) - removeSourceOption(sourceId) - break - } - case 'layers': { - if (sourcesDropDown.value) updateLayers(data.medias) - break - } + viewer.on('active', (event: ActiveEventPayload) => { + const sourceId = event.sourceId || mainSourceId + if (sourceId === mainSourceId) { + addMainSource(event) + } else { + addRemoteSource(event) } + addSourceOption(sourceId) + }) + viewer.on('inactive', (event: InactiveEventPayload) => { + const sourceId = event.sourceId || mainSourceId + unprojectAndRemoveVideo(sourceId) + removeSourceOption(sourceId) + }) + viewer.on('broadcastEvent', (layers: LayersEventPayload) => { + if (sourcesDropDown.value) updateLayers(layers.medias) }) // This aplication does not support audio only streams. It's not intented to work using audio only streams. diff --git a/packages/millicast-publisher-demo/src/js/MillicastPublishUserMedia.ts b/packages/millicast-publisher-demo/src/js/MillicastPublishUserMedia.ts index 9c3141e4..7e4d90e3 100644 --- a/packages/millicast-publisher-demo/src/js/MillicastPublishUserMedia.ts +++ b/packages/millicast-publisher-demo/src/js/MillicastPublishUserMedia.ts @@ -1,16 +1,16 @@ -import { Publish } from '@nx-millicast/millicast-sdk' +import { PublishConnectOptions, Publisher, PublisherOptions } from '@nx-millicast/millicast-sdk' import MillicastMedia from './MillicastMedia' -import { PublishConnectOptions } from 'packages/millicast-sdk/src/types/Publish.types' +import { MillicastMediaOptions } from '../types/MillicastMedia.types' -export default class MillicastPublishUserMedia extends Publish { +export default class MillicastPublishUserMedia extends Publisher { mediaManager: MillicastMedia - constructor(options, tokenGenerator, autoReconnect) { - super(tokenGenerator, autoReconnect) - this.mediaManager = new MillicastMedia(options) + constructor(opts: MillicastMediaOptions, options: PublisherOptions) { + super(options) + this.mediaManager = new MillicastMedia(opts) } - static async build(options, tokenGenerator, autoReconnect = true) { - const instance = new MillicastPublishUserMedia(options, tokenGenerator, autoReconnect) + static async build(opts: MillicastMediaOptions, options: PublisherOptions) { + const instance = new MillicastPublishUserMedia(opts, options) await instance.getMediaStream() return instance } diff --git a/packages/millicast-publisher-demo/src/publisher.ts b/packages/millicast-publisher-demo/src/publisher.ts index 7c76fb0a..a81faa6b 100644 --- a/packages/millicast-publisher-demo/src/publisher.ts +++ b/packages/millicast-publisher-demo/src/publisher.ts @@ -10,7 +10,7 @@ window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT) + Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT } const streamName: string = @@ -89,12 +89,8 @@ document.addEventListener('DOMContentLoaded', async (event) => { function setUserCount(): void { // Add listener of broacastEvent to get UserCount console.log(millicastPublishUserMedia._events, 'publisher user media') - millicastPublishUserMedia.on('broadcastEvent', (event) => { - const { name, data } = event - console.log(event, 'broadcastEvent') - if (name === 'viewercount') { - userCount.innerHTML = data.viewercount - } + millicastPublishUserMedia.on('viewercount', (count) => { + userCount.innerHTML = count.toString(); }) } ////// @@ -143,13 +139,10 @@ document.addEventListener('DOMContentLoaded', async (event) => { } ///////////////////////// - const options: DirectorPublisherOptions = { token: publishToken, streamName } - const tokenGenerator: () => Promise = () => Director.getPublisher(options) const millicastPublishUserMedia = (window.millicastPublish = await MillicastPublishUserMedia.build( - { streamName }, - tokenGenerator, - true - )) + {streamName}, + {streamName, publishToken, autoReconnect: true} + )); let selectedBandwidthBtn = document.querySelector('#bandwidthMenuButton') as HTMLElement | null let bandwidth: number = 0 const events: string[] = ['viewercount'] diff --git a/packages/millicast-publisher-demo/src/types/MillicastMedia.types.ts b/packages/millicast-publisher-demo/src/types/MillicastMedia.types.ts index eb4b9878..8d904e2c 100644 --- a/packages/millicast-publisher-demo/src/types/MillicastMedia.types.ts +++ b/packages/millicast-publisher-demo/src/types/MillicastMedia.types.ts @@ -1,5 +1,5 @@ export type MillicastMediaOptions = { - constraints: MediaStreamConstraints + constraints?: MediaStreamConstraints streamName: String } diff --git a/packages/millicast-sdk/README.md b/packages/millicast-sdk/README.md index fba150ff..934d6a14 100644 --- a/packages/millicast-sdk/README.md +++ b/packages/millicast-sdk/README.md @@ -57,27 +57,25 @@ In vanilla JavaScript: const yourPublishingToken = '...' const yourStreamName = '...' - // Define callback for generate new tokens - const tokenGenerator = () => - const options : DirectorPublisherOptions = {token: yourPublishingToken, streamName: yourStreamName} - millicast.Director.getPublisher(options) - // Create a new instance - const millicastPublish = new millicast.Publish(yourStreamName, tokenGenerator) + const millicastPublisher = new millicast.Publisher({ + streamName: yourStreamName, + publishToken: yourPublishingToken, + }); // Get user camera and microphone - const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }) + const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }); // Publishing options const broadcastOptions = { mediaStream, - } + }; // Start broadcast try { - await millicastPublish.connect(broadcastOptions) + await millicastPublisher.connect(broadcastOptions); } catch (e) { - console.log('Connection failed, handle error', e) + console.log('Connection failed, handle error', e); } @@ -110,19 +108,20 @@ In vanilla JavaScript: const yourStreamName = '...' const yourStreamAccountId = '...' - // Define callback for generate new token - const options: DirectorSubscriberOptions = { + // Create a new instance + const millicastViewer = new millicast.View(er{ streamName: yourStreamName, streamAccountId: yourStreamAccountId, - } - const tokenGenerator = () => millicast.Director.getSubscriber(options) + }); - // Create a new instance - const millicastView = new millicast.View(yourStreamName, tokenGenerator, video) + // Listen to the track event to receive the streams from the publisher. + millicastViewer.on('track', (event) => { + video.srcObject = event.streams[0]); + }); // Start connection to publisher try { - await millicastView.connect() + await millicastViewer.connect() } catch (e) { console.log('Connection failed, handle error', e) } diff --git a/packages/millicast-sdk/package.json b/packages/millicast-sdk/package.json index be0a6e70..a0e314f5 100644 --- a/packages/millicast-sdk/package.json +++ b/packages/millicast-sdk/package.json @@ -16,10 +16,18 @@ "dist", "scripts" ], + "watch": { + "build-docs": { + "patterns": [ + "src" + ], + "extensions": "ts,js" + } + }, "scripts": { "build": "nx build @millicast/sdk", "build-docs": "typedoc", - "start-docs": "npm run build-docs && serve docs", + "start-docs": "npm run build-docs && serve docs & npm-watch", "test-unit": "npm run build && jest --testMatch '**/unit/*.steps.js'", "test-unit-coverage": "npm run build && jest --testMatch '**/unit/*.steps.js' --coverage", "test-e2e": "npm run build && jest --testMatch '**/e2e/*.steps.js' --verbose", @@ -49,5 +57,13 @@ "type": "git", "url": "git+https://github.com/millicast/millicast-sdk.git" }, - "devDependencies": {} + "devDependencies": { + "jest": "^29.4.1", + "jest-cucumber": "^3.0.1", + "jest-environment-jsdom": "^29.7.0", + "jest-environment-node": "^29.4.1", + "jest-puppeteer": "^9.0.1", + "jest-websocket-mock": "^2.2.0", + "npm-watch": "^0.13.0" + } } diff --git a/packages/millicast-sdk/src/Director.ts b/packages/millicast-sdk/src/Director.ts index b7b8ad5a..e1c34291 100644 --- a/packages/millicast-sdk/src/Director.ts +++ b/packages/millicast-sdk/src/Director.ts @@ -7,142 +7,79 @@ import { DirectorSubscriberOptions, MillicastDirectorResponse, } from './types/Director.types' - -const logger = Logger.get('Director') -enum StreamTypes { - WEBRTC = 'WebRtc', - RTMP = 'Rtmp', -} - -let liveWebsocketDomain = '' -export const defaultApiEndpoint = 'https://director.millicast.com' -let apiEndpoint = defaultApiEndpoint +import { ILogger } from 'js-logger'; /** - * @module Director - * @description Simplify API calls to find the best server and region to publish and subscribe to. - * For security reasons all calls will return a [JWT](https://jwt.io) token for authentication including the required - * socket path to connect with. - * - * You will need your own Publishing token and Stream name, please refer to [Managing Your Tokens](https://docs.dolby.io/streaming-apis/docs/managing-your-tokens). + * Simplify API calls to find the best server and region to publish and subscribe to. + * For security reasons all calls will return a [JWT](https://jwt.io) token for + * authentication including the required socket path to connect with. + * @hidden */ +export class Director { -/** - * @typedef {Object} DRMObject - * @property {String} fairPlayCertUrl - URL of the FairPlay certificate server. - * @property {String} fairPlayUrl - URL of the FairPlay license server. - * @property {String} widevineUrl - URL of the Widevine license server. - */ + static #logger: ILogger = Logger.get('Director'); -/** - * @typedef {Object} MillicastDirectorResponse - * @global - * @property {Array} urls - WebSocket available URLs. - * @property {String} jwt - Access token for signaling initialization. - * @property {Array} iceServers - Object which represents a list of Ice servers. - * @property {DRMObject} [drmObject] - DRM proxy server information. - */ + /** @ignore */ + static readonly DEFAULT_API_ENDPOINT: string = 'https://director.millicast.com'; -/** - * @typedef {Object} DirectorPublisherOptions - * @global - * @property {String} token - Millicast Publishing Token. - * @property {String} streamName - Millicast Stream Name. - * @property {("WebRtc" | "Rtmp")} [streamType] - Millicast Stream Type. - */ - -/** - * @typedef {Object} DirectorSubscriberOptions - * @global - * @property {String} streamName - Millicast publisher Stream Name. - * @property {String} streamAccountId - Millicast Account ID. - * @property {String} [subscriberToken] - Token to subscribe to secure streams. If you are subscribing to an unsecure stream, you can omit this param. - */ + static #liveWebsocketDomain: string = ''; + static #apiEndpoint: string = Director.DEFAULT_API_ENDPOINT; -const Director = { /** - * @function - * @name setEndpoint - * @description Set Director API endpoint where requests will be sent. - * @param {String} url - New Director API endpoint - * @returns {void} + * Sets the Director API endpoint where requests will be sent. + * + * @param url New Director API endpoint */ - setEndpoint: (url: string): void => { - apiEndpoint = url.replace(/\/$/, '') - }, + public static set endpoint(url: string) { + Director.#apiEndpoint = url.replace(/\/$/, ''); + } /** - * @function - * @name getEndpoint - * @description Get current Director API endpoint where requests will be sent. Default endpoint is 'https://director.millicast.com'. - * @returns {String} API base url + * Gets the current Director API endpoint where requests will be sent. + * + * @returns API base url. + * + * @defaultValue `https://director.millicast.com` */ - getEndpoint: (): string => { - return apiEndpoint - }, + public static get endpoint(): string { + return Director.#apiEndpoint; + } /** - * @function - * @name setLiveDomain - * @description Set Websocket Live domain from Director API response. + * Sets the Websocket Live domain from Director API response. * If it is set to empty, it will not parse the response. - * @param {String} domain - New Websocket Live domain - * @returns {void} + * + * @param domain New Websocket Live domain */ - setLiveDomain: (domain: string): void => { - liveWebsocketDomain = domain.replace(/\/$/, '') - }, + public static set liveDomain(domain: string) { + Director.#liveWebsocketDomain = domain.replace(/\/$/, ''); + } /** - * @function - * @name getLiveDomain - * @description Get current Websocket Live domain. + * Get current Websocket Live domain. * By default is empty which corresponds to not parse the Director response. - * @returns {String} Websocket Live domain + * + * @returns Websocket Live domain */ - getLiveDomain: (): string => { - return liveWebsocketDomain - }, + public static get liveDomain(): string { + return Director.#liveWebsocketDomain; + } /** - * @function - * @name getPublisher - * @description Get publisher connection data. - * @param {DirectorPublisherOptions} options - Millicast options. - * @returns {Promise} Promise object which represents the result of getting the publishing connection path. - * @example const response = await Director.getPublisher(options) - * @example - * import { Publish, Director } from '@millicast/sdk' - * - * //Define getPublisher as callback for Publish - * const streamName = "My Millicast Stream Name" - * const token = "My Millicast publishing token" - * const options: DirectorPublisherOptions = { token, streamName } - * const tokenGenerator = () => Director.getPublisher(options) - * - * //Create a new instance - * const millicastPublish = new Publish(tokenGenerator) - * - * //Get MediaStream - * const mediaStream = getYourMediaStreamImplementation() - * - * //Options - * const broadcastOptions = { - * mediaStream: mediaStream - * } - * - * //Start broadcast - * await millicastPublish.connect(broadcastOptions) + * Gets the publisher connection data. + * + * @param options Millicast options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the publishing connection path. */ - getPublisher: async (options: DirectorPublisherOptions): Promise => { - options.streamType = options.streamType || StreamTypes.WEBRTC - logger.info('Getting publisher connection path for stream name: ', options.streamName) + public static async getPublisher(options: DirectorPublisherOptions): Promise { + Director.#logger.info('Getting publisher connection path for stream name: ', options.streamName) const payload = { streamName: options.streamName, - streamType: options.streamType, + streamType: 'WebRtc', } const headers = { 'Content-Type': 'application/json', Authorization: `Bearer ${options.token}` } - const url = `${Director.getEndpoint()}/api/director/publish` + const url = `${Director.endpoint}/api/director/publish` try { const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }) let data = await response.json() @@ -150,55 +87,27 @@ const Director = { const error = new FetchError(data.data.message, response.status) throw error } - data = parseIncomingDirectorResponse(data) - logger.debug('Getting publisher response: ', data) + data = Director.parseIncomingDirectorResponse(data) + Director.#logger.debug('Getting publisher response: ', data) Diagnostics.initAccountId(data.data.streamAccountId) return data.data } catch (e) { - logger.error('Error while getting publisher connection path. ', e) + Director.#logger.error('Error while getting publisher connection path. ', e) throw e } - }, + } /** - * @function - * @name getSubscriber - * @description Get subscriber connection data. - * @param {DirectorSubscriberOptions} options - Millicast options. - * @returns {Promise} Promise object which represents the result of getting the subscribe connection data. - * @example const response = await Director.getSubscriber(options) - * @example - * import { View, Director } from '@millicast/sdk' - * - * //Define getSubscriber as callback for Subscribe - * const streamName = "My Millicast Stream Name" - * const accountId = "Millicast Publisher account Id" - * const options: DirectorSubscriberOptions = { streamName, streamAccountId } - * const tokenGenerator = () => Director.getSubscriber(options) - * //... or for an secure stream - * const options: DirectorSubscriberOptions = { {streamName, accountId, subscriberToken: '176949b9e57de248d37edcff1689a84a047370ddc3f0dd960939ad1021e0b744'} } - * const tokenGenerator = () => Director.getSubscriber(options) - * - * //Create a new instance - * const millicastView = new View(tokenGenerator) - * - * //Set track event handler to receive streams from Publisher. - * millicastView.on('track', (event) => { - * addStreamToYourVideoTag(event.streams[0]) - * }) - * - * //View Options - * const options = { - * } - * - * //Start connection to broadcast - * await millicastView.connect(options) + * Get subscriber connection data. + * + * @param options Millicast options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the subscribe connection data. */ - - getSubscriber: async (options: DirectorSubscriberOptions): Promise => { + public static async getSubscriber(options: DirectorSubscriberOptions): Promise { Diagnostics.initAccountId(options.streamAccountId) - logger.info( + Director.#logger.info( `Getting subscriber connection data for stream name: ${options.streamName} and account id: ${options.streamAccountId}` ) @@ -211,7 +120,7 @@ const Director = { if (subscriberToken) { headers = { ...headers, Authorization: `Bearer ${subscriberToken}` } } - const url = `${Director.getEndpoint()}/api/director/subscribe` + const url = `${Director.endpoint}/api/director/subscribe` try { const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }) let data = await response.json() @@ -219,50 +128,50 @@ const Director = { const error = new FetchError(data.data.message, response.status) throw error } - data = parseIncomingDirectorResponse(data) - logger.debug('Getting subscriber response: ', data) + data = Director.parseIncomingDirectorResponse(data) + Director.#logger.debug('Getting subscriber response: ', data) if (options.subscriberToken) data.data.subscriberToken = options.subscriberToken return data.data } catch (e) { - logger.error('Error while getting subscriber connection path. ', e) + Director.#logger.error('Error while getting subscriber connection path. ', e) throw e } - }, -} - -const parseIncomingDirectorResponse = (directorResponse: { data: DirectorResponse }) => { - if (Director.getLiveDomain()) { - const domainRegex = /\/\/(.*?)\// - const urlsParsed = directorResponse.data.urls.map((url) => { - const matched = domainRegex.exec(url) - if (!matched) { - logger.warn('Unable to parse incoming director response') - return url - } - return url.replace(matched[1], Director.getLiveDomain()) - }) - directorResponse.data.urls = urlsParsed } - // TODO: remove this when server returns full path of DRM license server URLs - if (directorResponse.data.drmObject) { - const playReadyUrl = directorResponse.data.drmObject.playReadyUrl - if (playReadyUrl) { - directorResponse.data.drmObject.playReadyUrl = `${Director.getEndpoint()}${playReadyUrl}` - } - const widevineUrl = directorResponse.data.drmObject.widevineUrl - if (widevineUrl) { - directorResponse.data.drmObject.widevineUrl = `${Director.getEndpoint()}${widevineUrl}` - } - const fairPlayUrl = directorResponse.data.drmObject.fairPlayUrl - if (fairPlayUrl) { - directorResponse.data.drmObject.fairPlayUrl = `${Director.getEndpoint()}${fairPlayUrl}` + + /** @ignore */ + private static parseIncomingDirectorResponse = (directorResponse: { data: DirectorResponse }) => { + if (Director.liveDomain) { + const domainRegex = /\/\/(.*?)\// + const urlsParsed = directorResponse.data.urls.map((url) => { + const matched = domainRegex.exec(url) + if (!matched) { + Director.#logger.warn('Unable to parse incoming director response') + return url + } + return url.replace(matched[1], this.liveDomain) + }) + directorResponse.data.urls = urlsParsed } - const fairPlayCertUrl = directorResponse.data.drmObject.fairPlayCertUrl - if (fairPlayCertUrl) { - directorResponse.data.drmObject.fairPlayCertUrl = `${Director.getEndpoint()}${fairPlayCertUrl}` + // TODO: remove this when server returns full path of DRM license server URLs + if (directorResponse.data.drmObject) { + const playReadyUrl = directorResponse.data.drmObject.playReadyUrl + if (playReadyUrl) { + directorResponse.data.drmObject.playReadyUrl = `${Director.endpoint}${playReadyUrl}` + } + const widevineUrl = directorResponse.data.drmObject.widevineUrl + if (widevineUrl) { + directorResponse.data.drmObject.widevineUrl = `${Director.endpoint}${widevineUrl}` + } + const fairPlayUrl = directorResponse.data.drmObject.fairPlayUrl + if (fairPlayUrl) { + directorResponse.data.drmObject.fairPlayUrl = `${Director.endpoint}${fairPlayUrl}` + } + const fairPlayCertUrl = directorResponse.data.drmObject.fairPlayCertUrl + if (fairPlayCertUrl) { + directorResponse.data.drmObject.fairPlayCertUrl = `${Director.endpoint}${fairPlayCertUrl}` + } } + return directorResponse } - return directorResponse -} -export default Director +} diff --git a/packages/millicast-sdk/src/PeerConnection.ts b/packages/millicast-sdk/src/PeerConnection.ts index 7a3552a9..aa44f1c1 100644 --- a/packages/millicast-sdk/src/PeerConnection.ts +++ b/packages/millicast-sdk/src/PeerConnection.ts @@ -8,6 +8,8 @@ import { SdpOptions, MillicastCapability, ICodecs, PeerConnectionConfig } from ' import { AudioCodec, VideoCodec } from './types/Codecs.types' import { isAudioCodec, isVideoCodec } from './utils/Codecs' import { typedKeys } from './utils/ObjectUtils' +import { TypedEventEmitter } from './utils/TypedEventEmitter' +import { PeerConnectionEvents } from './types/events' const logger = Logger.get('PeerConnection') @@ -18,10 +20,6 @@ export const ConnectionType: { Publisher: 'Publisher', Viewer: 'Viewer', } -export const webRTCEvents = { - track: 'track', - connectionStateChange: 'connectionStateChange', -} const localSDPOptions = { stereo: false, @@ -39,7 +37,7 @@ const localSDPOptions = { * @example const peerConnection = new PeerConnection() * @constructor */ -export default class PeerConnection extends EventEmitter { +export default class PeerConnection extends TypedEventEmitter { public mode: 'Publisher' | 'Viewer' | null public peer: RTCPeerConnection | null public peerConnectionStats: PeerConnectionStats | null @@ -95,7 +93,7 @@ export default class PeerConnection extends EventEmitter { this.peer?.close() this.peer = null this.stopStats() - this.emit(webRTCEvents.connectionStateChange, 'closed') + this.emit('connectionStateChange', 'closed') } /** @@ -352,10 +350,10 @@ export default class PeerConnection extends EventEmitter { * @fires PeerConnection#stats * @example peerConnection.initStats() * @example - * import Publish from '@millicast/sdk' + * import { Publisher } from '@millicast/sdk' * * //Initialize and connect your Publisher - * const millicastPublish = new Publish(tokenGenerator) + * const millicastPublish = new Publisher(tokenGenerator) * await millicastPublish.connect(options) * * //Initialize get stats @@ -366,7 +364,7 @@ export default class PeerConnection extends EventEmitter { * console.log('Stats from event: ', stats) * }) * @example - * import View from '@millicast/sdk' + * import { Viewer } from '@millicast/sdk' * * //Initialize and connect your Viewer * const millicastView = new View(tokenGenerator) @@ -471,7 +469,7 @@ const addPeerEvents = (instanceClass: PeerConnection, peer: RTCPeerConnection) = * @type {RTCTrackEvent} */ setTimeout(() => { - instanceClass.emit(webRTCEvents.track, event) + instanceClass.emit('track', event) }, 0) } @@ -484,7 +482,7 @@ const addPeerEvents = (instanceClass: PeerConnection, peer: RTCPeerConnection) = * @event PeerConnection#connectionStateChange * @type {RTCPeerConnectionState} */ - instanceClass.emit(webRTCEvents.connectionStateChange, peer.connectionState) + instanceClass.emit('connectionStateChange', peer.connectionState) } } else { // ConnectionStateChange does not exists in Firefox. @@ -493,7 +491,7 @@ const addPeerEvents = (instanceClass: PeerConnection, peer: RTCPeerConnection) = /** * @fires PeerConnection#connectionStateChange */ - instanceClass.emit(webRTCEvents.connectionStateChange, peer.iceConnectionState) + instanceClass.emit('connectionStateChange', peer.iceConnectionState) } } peer.onnegotiationneeded = async () => { diff --git a/packages/millicast-sdk/src/PeerConnectionStats.ts b/packages/millicast-sdk/src/PeerConnectionStats.ts index ac8bd80e..271dcc17 100644 --- a/packages/millicast-sdk/src/PeerConnectionStats.ts +++ b/packages/millicast-sdk/src/PeerConnectionStats.ts @@ -89,7 +89,7 @@ export const peerConnectionStatsEvents = { * This method takes statistical data from @dolbyio/webrtc-stats and transforms it into * a structured format compatible with previous versions. * - * @param {Object} webRTCStats - The statistics object containing various WebRTC stats + * @param webRTCStats - The statistics object containing various WebRTC stats */ const parseWebRTCStats = (webRTCStats: OnStats): ConnectionStats => { /* eslint-disable @typescript-eslint/no-unused-vars */ diff --git a/packages/millicast-sdk/src/Publish.ts b/packages/millicast-sdk/src/Publisher.ts similarity index 53% rename from packages/millicast-sdk/src/Publish.ts rename to packages/millicast-sdk/src/Publisher.ts index 91ef3c9e..0b817cef 100644 --- a/packages/millicast-sdk/src/Publish.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -2,22 +2,21 @@ import jwtDecode from 'jwt-decode' import reemit from 're-emitter' import { atob } from 'js-base64' import Logger from './Logger' -import BaseWebRTC from './utils/BaseWebRTC' -import Signaling, { signalingEvents } from './Signaling' +import { BaseWebRTC } from './utils/BaseWebRTC' +import Signaling from './Signaling' import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs' -import PeerConnection, { webRTCEvents, ConnectionType } from './PeerConnection' +import PeerConnection, { ConnectionType } from './PeerConnection' import FetchError from './utils/FetchError' import { supportsInsertableStreams, supportsRTCRtpScriptTransform } from './utils/StreamTransform' import TransformWorker from './workers/TransformWorker.worker.ts?worker&inline' -import { PublishConnectOptions } from './types/Publish.types' +import { PublisherOptions, PublishConnectOptions } from './types/Publisher.types' import { TokenGeneratorCallback } from './types/Director.types' import { DecodedJWT, ReconnectData } from './types/BaseWebRTC.types' -import { SEIUserUnregisteredData } from './types/View.types' import { SignalingPublishOptions } from './types/Signaling.types' import { VideoCodec } from './types/Codecs.types' -import { validatePublishConnectOptions } from './utils/Validators' - -const logger = Logger.get('Publish') +import { isNotDefined, validatePublishConnectOptions } from './utils/Validators' +import { Director } from './Director' +import { PublisherEvents, SEIUserUnregisteredData } from './types/events' const connectOptions: PublishConnectOptions = { sourceId: null, @@ -36,107 +35,125 @@ const connectOptions: PublishConnectOptions = { } /** - * @class Publish - * @extends BaseWebRTC - * @classdesc Manages connection with a secure WebSocket path to signal the Millicast server - * and establishes a WebRTC connection to broadcast a MediaStream. + * This object manages the connection to the platform to publish a stream. + * + * Before you can broadcast, you will need a [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API) object + * which has at most one audio track and at most one video track. This will be used for stream the contained tracks. + * + * @example + * import { Viewer, PublisherOptions } from '@millicast/sdk'; * - * Before you can broadcast, you will need: + * const streamName = "My Stream Name"; + * const publishToken = "PUBLISH_TOKEN"; + * const options: PublisherOptions = { + * streamName, + * publishToken, + * }; * - * - [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API) which has at most one audio track and at most one video track. This will be used for stream the contained tracks. + * // Create a new publisher + * const publisher = new Publisher(options); + * + * // Get a media stream + * const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }); * - * - A connection path that you can get from {@link Director} module or from your own implementation. - * @constructor - * @param {tokenGeneratorCallback} tokenGenerator - Callback function executed when a new token is needed. - * @param {Boolean} [autoReconnect=true] - Enable auto reconnect to stream. + * // Start the connection + * const connecOptions = { + * mediaStream + * }; + * await publisher.connect(connecOptions); */ -export default class Publish extends BaseWebRTC { - private recordingAvailable = false +export class Publisher extends BaseWebRTC { + #recordingAvailable: boolean = false private worker: Worker | null = null private streamName = '' private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null private stopReemitingSignalingInstanceEvents: (() => void) | null = null protected override options: PublishConnectOptions = connectOptions - constructor(tokenGenerator: TokenGeneratorCallback, autoReconnect = true) { - super(tokenGenerator, logger, autoReconnect) + + /** + * Creates a Publisher object. + * + * @param options Options for the publisher. + */ + constructor(options: PublisherOptions) { + const logger = Logger.get('Publisher'); + + if (isNotDefined(options.streamName)) { + logger.error('The Stream Name is missing.'); + throw new Error('The Stream Name is missing.'); + } + + if (isNotDefined(options.publishToken)) { + logger.error('The Publish Token is missing.'); + throw new Error('The Publish Token is missing.'); + } + + const tokenGenerator: TokenGeneratorCallback = () => Director.getPublisher({ + streamName: options.streamName, + token: options.publishToken, + }); + + super(tokenGenerator, logger, options.autoReconnect ?? true); } /** * Starts broadcast to an existing stream name. * * In the example, `getYourMediaStream` and `getYourPublisherConnection` is your own implementation. - * @param {Object} options - General broadcast options. - * @param {String} options.sourceId - Source unique id. Only avialable if stream is multisource. - * @param {Boolean} [options.stereo = false] - True to modify SDP for support stereo. Otherwise False. - * @param {Boolean} [options.dtx = false] - True to modify SDP for supporting dtx in opus. Otherwise False. - * @param {Boolean} [options.absCaptureTime = false] - True to modify SDP for supporting absolute capture time header extension. Otherwise False. - * @param {Boolean} [options.dependencyDescriptor = false] - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. - * @param {MediaStream|Array} options.mediaStream - MediaStream to offer in a stream. This object must have - * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. - * @param {Number} [options.bandwidth = 0] - Broadcast bandwidth. 0 for unlimited. - * @param {Boolean} [options.metadata = false] - Enable metadata insertion if stream is compatible. - * @param {Boolean} [options.disableVideo = false] - Disable the opportunity to send video stream. - * @param {Boolean} [options.disableAudio = false] - Disable the opportunity to send audio stream. - * @param {VideoCodec} [options.codec = 'h264'] - Codec for publish stream. - * @param {Boolean} [options.simulcast = false] - Enable simulcast. **Only available in Chromium based browsers and with H.264 or VP8 video codecs.** - * @param {String} [options.scalabilityMode = null] - Selected scalability mode. You can get the available capabilities using PeerConnection.getCapabilities method. - * **Only available in Google Chrome.** - * @param {PeerConnectionConfig} [options.peerConfig = null] - Options to configure the new RTCPeerConnection. - * @param {Boolean} [options.record = false ] - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** - * @param {Array} [options.events = null] - Specify which events will be delivered by the server (any of "active" | "inactive" | "viewercount").* - * @param {Number} [options.priority = null] - When multiple ingest streams are provided by the customer, add the ability to specify a priority between all ingest streams. Decimal integer between the range [-2^31, +2^31 - 1]. For more information, visit [our documentation](https://docs.dolby.io/streaming-apis/docs/backup-publishing). - * @returns {Promise} Promise object which resolves when the broadcast started successfully. - * @fires PeerConnection#connectionStateChange - * @fires Signaling#broadcastEvent - * @example await publish.connect(options) + * @param options - General broadcast options.@returns {Promise} Promise object which resolves when the broadcast started successfully. + * * @example - * import Publish from '@millicast/sdk' - * - * //Define callback for generate new token - * const tokenGenerator = () => getYourPublisherConnection(token, streamName) + * import { Viewer, PublisherOptions } from '@millicast/sdk'; * - * //Create a new instance - * const millicastPublish = new Publish(tokenGenerator) + * const streamName = "My Stream Name"; + * const publishToken = "PUBLISH_TOKEN"; + * const options: PublisherOptions = { + * streamName, + * publishToken, + * }; * - * //Get MediaStream - * const mediaStream = getYourMediaStream() + * // Create a new publisher + * const publisher = new Publisher(options); + * + * // Get a media stream + * const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }); * - * //Options - * const broadcastOptions = { - * mediaStream: mediaStream - * } - * - * //Start broadcast - * try { - * await millicastPublish.connect(broadcastOptions) - * } catch (e) { - * console.log('Connection failed, handle error', e) - * } + * // Start the connection + * const connecOptions = { + * mediaStream + * }; + * await publisher.connect(connecOptions); */ override async connect(options: PublishConnectOptions = connectOptions): Promise { - const { error, value } = validatePublishConnectOptions(options) - if (error) logger.warn(error, value) + const { error, value } = validatePublishConnectOptions(options); + + if (error) this.logger.warn(error, value); + this.options = { ...connectOptions, ...options, peerConfig: { ...connectOptions.peerConfig, ...options.peerConfig }, setSDPToPeer: false, - } - if (this.options) { - this.options.metadata = - this.options.metadata && this.options.codec === VideoCodec.H264 && !this.options.disableVideo - } + }; - await this.initConnection({ migrate: false }) + this.options.metadata = this.options.metadata && this.options.codec === VideoCodec.H264 && !this.options.disableVideo; + + await this.initConnection({ migrate: false }); } + /** + * Restart publishing the stream. + * + * @param data Data object. + */ override async reconnect(data?: ReconnectData) { this.options.mediaStream = this.webRTCPeer?.getTracks() ?? this.options.mediaStream super.reconnect(data) } + /** @ignore */ override async replaceConnection() { - logger.info('Migrating current connection') + this.logger.info('Migrating current connection') this.options.mediaStream = this.webRTCPeer?.getTracks() ?? this.options.mediaStream await this.initConnection({ migrate: true }) } @@ -144,45 +161,48 @@ export default class Publish extends BaseWebRTC { /** * Initialize recording in an active stream and change the current record option. */ - async record() { - if (this.recordingAvailable) { + public async startRecording(): Promise { + if (this.#recordingAvailable) { this.options.record = true await this.signaling?.cmd('record') - logger.info('Broadcaster start recording') + this.logger.info('Broadcaster start recording') } else { - logger.error('Record not available') + this.logger.error('Record not available') } } /** - * Finalize recording in an active stream and change the current record option. + * Stops the recording in the active stream and change the current record option. */ - async unrecord() { - if (this.recordingAvailable) { + public async stopRecording(): Promise { + if (this.#recordingAvailable) { this.options.record = false await this.signaling?.cmd('unrecord') - logger.info('Broadcaster stop recording') + this.logger.info('Broadcaster stop recording') } else { - logger.error('Unrecord not available') + this.logger.error('Unrecord not available') } } - override stop() { + /** + * Stops the publication of the stream. + */ + public override stop() { super.stop() this.worker?.terminate() this.worker = null } - async initConnection(data: { migrate: boolean }) { - logger.debug('Broadcast option values: ', this.options) + private async initConnection(data: { migrate: boolean }) { + this.logger.debug('Broadcast option values: ', this.options) this.stopReconnection = false let promises if (!this.options.mediaStream) { - logger.error('Error while broadcasting. MediaStream required') + this.logger.error('Error while broadcasting. MediaStream required') throw new Error('MediaStream required') } if (!data.migrate && this.isActive()) { - logger.warn('Broadcast currently working') + this.logger.warn('Broadcast currently working') throw new Error('Broadcast currently working') } let publisherData @@ -194,7 +214,7 @@ export default class Publish extends BaseWebRTC { this.options.peerConfig.encodedInsertableStreams = this.options.metadata } } catch (error) { - logger.error('Error generating token.') + this.logger.error('Error generating token.') if (error instanceof FetchError) { if (error.status === 401 || !this.autoReconnect) { // should not reconnect @@ -207,14 +227,14 @@ export default class Publish extends BaseWebRTC { throw error } if (!publisherData) { - logger.error('Error while broadcasting. Publisher data required') + this.logger.error('Error while broadcasting. Publisher data required') throw new Error('Publisher data required') } const decodedJWT = jwtDecode(publisherData.jwt) as DecodedJWT this.streamName = decodedJWT['millicast'].streamName - this.recordingAvailable = decodedJWT[atob('bWlsbGljYXN0')].record - if (this.options.record && !this.recordingAvailable) { - logger.error('Error while broadcasting. Record option detected but recording is not available') + this.#recordingAvailable = decodedJWT[atob('bWlsbGljYXN0')].record + if (this.options.record && !this.#recordingAvailable) { + this.logger.error('Error while broadcasting. Record option detected but recording is not available') throw new Error('Record option detected but recording is not available') } @@ -225,15 +245,16 @@ export default class Publish extends BaseWebRTC { const webRTCPeerInstance = data.migrate ? new PeerConnection() : this.webRTCPeer await webRTCPeerInstance.createRTCPeer(this.options.peerConfig, ConnectionType.Publisher) + // Stop emiting events from the previous instances this.stopReemitingWebRTCPeerInstanceEvents?.() this.stopReemitingSignalingInstanceEvents?.() // And start emitting from the new ones this.stopReemitingWebRTCPeerInstanceEvents = reemit(webRTCPeerInstance, this, [ - webRTCEvents.connectionStateChange, + 'connectionStateChange', ]) this.stopReemitingSignalingInstanceEvents = reemit(signalingInstance, this, [ - signalingEvents.broadcastEvent, + 'active', 'inactive', 'viewercount', ]) const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(this.options as SignalingPublishOptions) @@ -286,14 +307,14 @@ export default class Publish extends BaseWebRTC { await webRTCPeerInstance.setRTCRemoteSDP(remoteSdp) - logger.info('Broadcasting to streamName: ', this.streamName) + this.logger.info('Broadcasting to streamName:', this.streamName) let oldWebRTCPeer: PeerConnection | null = this.webRTCPeer this.webRTCPeer = webRTCPeerInstance this.setReconnect() if (data.migrate) { - this.webRTCPeer.on(webRTCEvents.connectionStateChange, (state) => { + this.webRTCPeer.on('connectionStateChange', (state) => { if (['connected', 'disconnected', 'failed', 'closed'].includes(state)) { oldSignaling?.close?.() oldWebRTCPeer?.closeRTCPeer?.() @@ -304,11 +325,11 @@ export default class Publish extends BaseWebRTC { } /** - * Send SEI user unregistered data as part of the frame being streamed. Only available for H.264 codec. - * @param {SEIUserUnregisteredData} message The data to be sent as SEI user unregistered data. - * @param {String} [uuid="d40e38ea-d419-4c62-94ed-20ac37b4e4fa"] String with UUID format as hex digit (XXXX-XX-XX-XX-XXXXXX). + * Sends SEI user unregistered data as part of the frame being streamed. Only available for H.264 codec. + * @param message The data to be sent as SEI user unregistered data. + * @param uuid String with UUID format as hex digit (XXXX-XX-XX-XX-XXXXXX). Default is `"d40e38ea-d419-4c62-94ed-20ac37b4e4fa"`. */ - sendMetadata(message: SEIUserUnregisteredData, uuid: string = DOLBY_SDK_TIMESTAMP_UUID) { + public sendMetadata(message: SEIUserUnregisteredData, uuid: string = DOLBY_SDK_TIMESTAMP_UUID) { if (this.options?.metadata && this.worker) { this.worker.postMessage({ action: 'metadata-sei-user-data-unregistered', @@ -332,7 +353,7 @@ export default class Publish extends BaseWebRTC { } else { warningMessage += '\n- Stream not being published.' } - logger.warn(warningMessage) + this.logger.warn(warningMessage) } } } diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index c6287f11..6105126a 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -1,4 +1,3 @@ -import EventEmitter from 'events' import TransactionManager from 'transaction-manager' import Logger from './Logger' import SdpParser from './utils/SdpParser' @@ -13,16 +12,11 @@ import { } from './types/Signaling.types' import { ICodecs } from './types/PeerConnection.types' import { VideoCodec } from './types/Codecs.types' +import { TypedEventEmitter } from './utils/TypedEventEmitter' +import { ActiveEventPayload, InactiveEventPayload, LayersEventPayload, SignalingEvents } from './types/events' const logger = Logger.get('Signaling') -export const signalingEvents = { - connectionSuccess: 'wsConnectionSuccess', - connectionError: 'wsConnectionError', - connectionClose: 'wsConnectionClose', - broadcastEvent: 'broadcastEvent', -} - /** * @typedef {Object} LayerInfo * @property {String} encodingId - rid value of the simulcast encoding of the track (default: automatic selection) @@ -60,7 +54,7 @@ export const signalingEvents = { * @param {String} options.url - WebSocket URL to signal Millicast server and establish a WebRTC connection. */ -export default class Signaling extends EventEmitter { +export default class Signaling extends TypedEventEmitter { public streamName: string | null public wsUrl: string public webSocket: WebSocket | null = null @@ -107,7 +101,7 @@ export default class Signaling extends EventEmitter { * @property {WebSocket} ws - WebSocket object which represents active connection. * @property {TransactionManager} tm - [TransactionManager](https://github.com/medooze/transaction-manager) object that simplify WebSocket commands. */ - this.emit(signalingEvents.connectionSuccess, { ws: this.webSocket, tm: this.transactionManager }) + this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.transactionManager }) return this.webSocket } @@ -118,35 +112,49 @@ export default class Signaling extends EventEmitter { logger.info('WebSocket opened') this.transactionManager && this.transactionManager.on('event', (evt: TransactionManager.Event) => { - /** - * Passthrough of available Millicast broadcast events. - * - * Active - Fires when the live stream is, or has started broadcasting. - * - * Inactive - Fires when the stream has stopped broadcasting, but is still available. - * - * Stopped - Fires when the stream has stopped for a given reason. - * - * Vad - Fires when using multiplexed tracks for audio. - * - * Layers - Fires when there is an update of the state of the layers in a stream (when broadcasting with simulcast). - * - * Migrate - Fires when the server is having problems, is shutting down or when viewers need to move for load balancing purposes. - * - * Viewercount - Fires when the viewer count changes. - * - * Updated - when an active stream's tracks are updated - * - * More information here: {@link https://docs.dolby.io/streaming-apis/docs/web#broadcast-events} - * - * @event Signaling#broadcastEvent - * @type {Object} - * @property {String} type - In this case the type of this message is "event". - * @property {("active" | "inactive" | "stopped" | "vad" | "layers" | "migrate" | "viewercount" | "updated")} name - Event name. - * @property {Object} data - Custom event data. - */ - this.emit(signalingEvents.broadcastEvent, evt) - }) + const data: any = evt.data; + switch (evt.name) { + case 'active': + const activePayload: ActiveEventPayload = { + streamId: data.streamId, + sourceId: data.sourceId, + tracks: data.tracks, + encryption: data.encryption, + }; + this.emit('active', activePayload); + return; + case 'inactive': + const inactivePayload: InactiveEventPayload = { + streamId: data.streamId, + sourceId: data.sourceId, + }; + this.emit('inactive', inactivePayload); + return; + case 'viewercount': + this.emit('viewercount', data.viewerCount); + return; + case 'migrate': + this.emit('migrate'); + return; + case 'updated': + this.emit('updated'); + return; + case 'stopped': + this.emit('stopped'); + return; + case 'vad': + this.emit('vad'); + return; + case 'layers': + const layersPayload = data as LayersEventPayload; + this.emit('layers', layersPayload); + return; + default: + break + } + logger.info('The following event was not properly understood', evt); + }); + if (this.webSocket) { logger.info('Connected to server: ', this.webSocket.url) logger.debug('WebSocket value: ', { @@ -156,7 +164,7 @@ export default class Signaling extends EventEmitter { binaryType: this.webSocket.binaryType, extensions: this.webSocket.extensions, }) - this.emit(signalingEvents.connectionSuccess, { ws: this.webSocket, tm: this.transactionManager }) + this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.transactionManager }) resolve(this.webSocket) } } @@ -170,7 +178,7 @@ export default class Signaling extends EventEmitter { * @event Signaling#wsConnectionError * @type {String} */ - this.emit(signalingEvents.connectionError, this.webSocket.url) + this.emit('wsConnectionError', this.webSocket.url) reject(this.webSocket.url) } } @@ -183,7 +191,7 @@ export default class Signaling extends EventEmitter { * * @event Signaling#wsConnectionClose */ - this.emit(signalingEvents.connectionClose) + this.emit('wsConnectionClose') } }) } diff --git a/packages/millicast-sdk/src/View.ts b/packages/millicast-sdk/src/Viewer.ts similarity index 59% rename from packages/millicast-sdk/src/View.ts rename to packages/millicast-sdk/src/Viewer.ts index 5feaf958..e6b42f3c 100644 --- a/packages/millicast-sdk/src/View.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -1,9 +1,9 @@ import reemit from 're-emitter' import jwtDecode from 'jwt-decode' import Logger from './Logger' -import BaseWebRTC from './utils/BaseWebRTC' -import Signaling, { signalingEvents } from './Signaling' -import PeerConnection, { webRTCEvents } from './PeerConnection' +import { BaseWebRTC } from './utils/BaseWebRTC' +import Signaling from './Signaling' +import PeerConnection from './PeerConnection' import { hexToUint8Array } from './utils/StringUtils' import { swapPropertyValues } from './utils/ObjectUtils' import FetchError from './utils/FetchError' @@ -19,22 +19,21 @@ import TransformWorker from './workers/TransformWorker.worker.ts?worker&inline' import SdpParser from './utils/SdpParser' import { TokenGeneratorCallback } from './types/Director.types' import { - ViewConnectOptions, + ViewerConnectOptions, LayerInfo, ViewProjectSourceMapping, DRMOptions, - MetadataObject, - SEIUserUnregisteredData, - ViewerEvents, -} from './types/View.types.js' + ViewerOptions, +} from './types/Viewer.types.js' import { DRMProfile } from './types/Director.types' import { DecodedJWT, Media } from './types/BaseWebRTC.types' import { VideoCodec } from './types/Codecs.types' +import { Director } from './Director' +import { ActiveEventPayload, InactiveEventPayload, MetadataEventPayload, SEIUserUnregisteredData, ViewerEvents } from './types/events' +import TransactionManager from 'transaction-manager' +import { isNotDefined } from './utils/Validators' -const logger = Logger.get('View') -logger.setLevel(Logger.DEBUG) - -const defaultConnectOptions: ViewConnectOptions = { +const defaultConnectOptions: ViewerConnectOptions = { metadata: false, enableDRM: false, disableVideo: false, @@ -64,19 +63,67 @@ const defaultConnectOptions: ViewConnectOptions = { // } /** - * @class View - * @extends BaseWebRTC - * @classdesc Manages connection with a secure WebSocket path to signal the Millicast server - * and establishes a WebRTC connection to view a live stream. + * This object manages the connection to the platform to subscribe and receive streams. + * + * @example + * How to connect to a stream: + * ```typescript + * import { ViewerConnectOptions, Viewer, ViewerOptions } from '@millicast/sdk'; + * + * const streamName = 'My Millicast Stream Name'; + * const accountId = 'Millicast Publisher account Id'; + * + * const options: ViewerOptions = { + * streamName, + * streamAccountId, + * }; + * + * // Create a new viewer + * const viewer = new Viewer(options); + * + * // Listen to the track event to receive the streams from the publisher. + * viewer.on('track', (event) => { + * addStreamToYourVideoTag(event.streams[0]); + * }); + * + * // Connect to the stream + * const connectOptions: ViewerConnectOptions = {}; + * await viewer.connect(connectOptions); + * ``` + * + * @example + * How to connect to a secure stream: + * ```typescript + * import { ViewerConnectOptions, Viewer, ViewerOptions } from '@millicast/sdk'; + * + * const streamName = 'My Millicast Stream Name'; + * const accountId = 'Millicast Publisher account Id'; + * const subscriberToken = '176949b9e57de248d37edcff1689a84a047370ddc3f0dd960939ad1021e0b744'; + * + * const options: ViewerOptions = { + * streamName, + * accountId, + * subscriberToken, + * }; + * + * // Create a new viewer + * const viewer = new Viewer(options); * - * Before you can view an active broadcast, you will need: + * // Listen to the track event to receive the streams from the publisher. + * viewer.on('track', (event) => { + * addStreamToYourVideoTag(event.streams[0]); + * }); * - * - A connection path that you can get from {@link Director} module or from your own implementation. - * @constructor - * @param {tokenGeneratorCallback} tokenGenerator - Callback function executed when a new token is needed. - * @param {Boolean} [autoReconnect=true] - Enable auto reconnect to stream. + * // Connect to the stream + * const connectOptions: ViewerConnectOptions = {}; + * await viewer.connect(connectOptions); + * + * @fires This class may fire the following events: + * * {@link ViewerEvents.track | track} + * * {@link ViewerEvents.active | active} + * * {@link ViewerEvents.inactive | inactive} */ -export default class View extends BaseWebRTC { +export class Viewer extends BaseWebRTC { // States what payload type is associated with each codec from the SDP answer. private payloadTypeCodec: { [key: number]: string } = {} // Follows the media id values of each transceiver's track from the 'track' events. @@ -91,107 +138,74 @@ export default class View extends BaseWebRTC { private eventQueue: RTCTrackEvent[] = [] private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null private stopReemitingSignalingInstanceEvents: (() => void) | null = null - private events: { [K in keyof ViewerEvents]: Array<(payload: ViewerEvents[K]) => void> } = {} - protected override options: ViewConnectOptions | null = null - constructor(tokenGenerator: TokenGeneratorCallback, autoReconnect = true) { - super(tokenGenerator, logger, autoReconnect) - } + protected override options: ViewerConnectOptions | null = null + + /** + * Creates a Viewer object. + * + * @param options Options for the viewer. + */ + constructor(options: ViewerOptions) { + const logger = Logger.get('Viewer'); - override on(eventName: K, listener: (payload: ViewerEvents[K]) => void): this { - if (!this.events[eventName]) { - this.events[eventName] = [] + if (isNotDefined(options.streamName)) { + logger.error('The Stream Name is missing.'); + throw new Error('The Stream Name is missing.'); } - this.events[eventName].push(listener) - return this - } - override off(eventName: K, listener: (payload: ViewerEvents[K]) => void): this { - const listeners = this.events[eventName] - if (listeners) { - const idx = listeners.indexOf(listener) - if (idx >= 0) { - listeners.splice(idx, 1) - } + if (isNotDefined(options.streamAccountId)) { + logger.error('The Stream Name is missing.'); + throw new Error('The Stream Account ID is missing.'); } - return this - } - override emit(eventName: K, payload: ViewerEvents[K]): boolean { - if (this.events[eventName]) { - this.events[eventName].forEach((listener) => listener(payload)) - return true - } - return false - } + const tokenGenerator: TokenGeneratorCallback = () => Director.getSubscriber({ + streamName: options.streamName, + streamAccountId: options.streamAccountId, + subscriberToken: options.subscriberToken, + }); - /** - * @typedef {Object} LayerInfo - * @property {String} encodingId - rid value of the simulcast encoding of the track (default: automatic selection) - * @property {Number} spatialLayerId - The spatial layer id to send to the outgoing stream (default: max layer available) - * @property {Number} temporalLayerId - The temporaral layer id to send to the outgoing stream (default: max layer available) - * @property {Number} maxSpatialLayerId - Max spatial layer id (default: unlimited) - * @property {Number} maxTemporalLayerId - Max temporal layer id (default: unlimited) - */ - - /** - * @typedef {RTCConfiguration} PeerConnectionConfig - RTC Peer Connection Configuration object. Extends `RTCConfiguration`. - * @property {Boolean} [autoInitStats = true] - Whether stats collection should be auto initialized. - * @property {Number} [statsIntervalMs = 1000] - The interval, in milliseconds, at which we poll stats. - */ + super(tokenGenerator, logger, options.autoReconnect ?? true); + } /** - * Connects to an active stream as subscriber. + * Connects to a stream as a subscriber. * * In the example, `addStreamToYourVideoTag` and `getYourSubscriberConnectionPath` is your own implementation. - * @param {Object} [options] - General subscriber options. - * @param {Boolean} [options.dtx = false] - True to modify SDP for supporting dtx in opus. Otherwise False. - * @param {Boolean} [options.absCaptureTime = false] - True to modify SDP for supporting absolute capture time header extension. Otherwise False. - * @param {Boolean} [options.metadata = false] - Enable metadata extraction if stream is compatible. - * @param {Boolean} [options.drm = false] - Enable the DRM protected stream playback. - * @param {Boolean} [options.disableVideo = false] - Disable the opportunity to receive video stream. - * @param {Boolean} [options.disableAudio = false] - Disable the opportunity to receive audio stream. - * @param {Number} [options.multiplexedAudioTracks] - Number of audio tracks to recieve VAD multiplexed audio for secondary sources. - * @param {String} [options.pinnedSourceId] - Id of the main source that will be received by the default MediaStream. - * @param {Array} [options.excludedSourceIds] - Do not receive media from the these source ids. - * @param {Array} [options.events] - Override which events will be delivered by the server (any of "active" | "inactive" | "vad" | "layers" | "viewercount" | "updated").* - * @param {PeerConnection} [options.peerConfig] - Options to configure the new RTCPeerConnection. - * @param {LayerInfo} [options.layer] - Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. - * @param {Object} [options.forcePlayoutDelay] - Ask the server to use the playout delay header extension. - * @param {Number} [options.forcePlayoutDelay.min] - Set minimum playout delay value. - * @param {Number} [options.forcePlayoutDelay.max] - Set maximum playout delay value. - * @param {Boolean} [options.enableDRM] - Enable DRM, default is false. - * @returns {Promise} Promise object which resolves when the connection was successfully established. - * @fires PeerConnection#track - * @fires Signaling#broadcastEvent - * @fires PeerConnection#connectionStateChange - * @example await millicastView.connect(options) + * + * @param options General subscriber options. + * + * @returns Promise object which resolves when the connection was successfully established. + * * @example - * import View from '@millicast/sdk' + * import { Viewer, ViewerOptions } from '@millicast/sdk'; * - * //Define callback for generate new token - * const tokenGenerator = () => getYourSubscriberInformation(accountId, streamName) + * const streamName = "My Millicast Stream Name"; + * const accountId = "Millicast Publisher account Id"; + * const options: ViewerOptions = { + * streamName, + * streamAccountId, + * }; * - * //Create a new instance - * const streamName = "Millicast Stream Name where i want to connect" - * const millicastView = new View(tokenGenerator) + * // Create a new viewer + * const viewer = new Viewer(options); * - * //Set track event handler to receive streams from Publisher. - * millicastView.on('track', (event) => { - * addStreamToYourVideoTag(event.streams[0]) - * }) + * // Listen to the track event to receive the streams from the publisher. + * viewer.on('track', (event) => { + * addStreamToYourVideoTag(event.streams[0]); + * }); * - * millicastView.on('error', (error) => { - * console.error('Error from Millicast SDK', error) - * }) + * viewer.on('error', (error) => { + * console.error('Error from Millicast SDK', error); + * }); * - * //Start connection to broadcast * try { - * await millicastView.connect() + * const options = {}; + * await viewer.connect(options); * } catch (e) { - * console.log('Connection failed, handle error', e) + * console.error('Connection failed', e); * } */ - override async connect(options: ViewConnectOptions = defaultConnectOptions): Promise { + override async connect(options: ViewerConnectOptions = defaultConnectOptions): Promise { this.options = { ...defaultConnectOptions, ...options, @@ -203,13 +217,13 @@ export default class View extends BaseWebRTC { } /** - * Select the simulcast encoding layer and svc layers for the main video track - * @param {LayerInfo} layer - leave empty for automatic layer selection based on bandwidth estimation. + * Selects the simulcast encoding layer and svc layers for the main video track + * @param layer leave empty for automatic layer selection based on bandwidth estimation. */ async select(layer?: LayerInfo): Promise { - logger.debug('Viewer select layer values: ', layer) - await this.signaling?.cmd('select', { layer }) - logger.info('Connected to streamName: ', this.streamName) + this.logger.debug('Viewer select layer values: ', layer); + await this.signaling?.cmd('select', { layer }); + this.logger.info('Connected to streamName: ', this.streamName); } /** @@ -219,7 +233,7 @@ export default class View extends BaseWebRTC { * @return {Promise} Promise that will be resolved when the RTCRtpTransceiver is assigned an mid value. */ async addRemoteTrack(media: Media, streams: Array): Promise { - logger.info('Viewer adding remote track', media) + this.logger.info('Viewer adding remote track', media) const transceiver = await this.webRTCPeer.addRemoteTrack(media, streams) for (const stream of streams) { stream.addTrack(transceiver.receiver.track) @@ -229,50 +243,44 @@ export default class View extends BaseWebRTC { /** * Start projecting source in selected media ids. - * @param {String} sourceId - Selected source id. - * @param {Array} mapping - Mapping of the source track ids to the receiver mids - * @param {String} [mapping.trackId] - Track id from the source (received on the "active" event), if not set the media kind will be used instead. - * @param {String} [mapping.media] - Track kind of the source ('audio' | 'video'), if not set the trackId will be used instead. - * @param {String} [mapping.mediaId] - mid value of the rtp receiver in which the media is going to be projected. If no mediaId is defined, the first track from the main media stream with the same media type as the input source track will be used. - * @param {LayerInfo} [mapping.layer] - Select the simulcast encoding layer and svc layers, only applicable to video tracks. - * @param {Boolean} [mapping.promote] - To remove all existing limitations from the source, such as restricted bitrate or resolution, set this to true. + * + * @param sourceId Selected source id. + * @param mapping Mapping of the source track ids to the receiver mids. */ async project(sourceId: string, mapping: ViewProjectSourceMapping[]): Promise { for (const map of mapping) { if (!map.trackId && !map.media) { - logger.error('Error in projection mapping, trackId or mediaId must be set') - throw new Error('Error in projection mapping, trackId or mediaId must be set') + this.logger.error('Error in projection mapping, trackId or mediaId must be set'); + throw new Error('Error in projection mapping, trackId or mediaId must be set'); } - const peer = this.webRTCPeer.getRTCPeer() + const peer = this.webRTCPeer.getRTCPeer(); // Check we have the mediaId in the transceivers if ( map.mediaId && !peer?.getTransceivers().find((t: RTCRtpTransceiver) => t.mid === map.mediaId?.toString()) ) { - logger.error(`Error in projection mapping, ${map.mediaId} mid not found in local transceivers`) + this.logger.error(`Error in projection mapping, ${map.mediaId} mid not found in local transceivers`) throw new Error(`Error in projection mapping, ${map.mediaId} mid not found in local transceivers`) } } - logger.debug('Viewer project source: layer mappings: ', sourceId, mapping) - await this.signaling?.cmd('project', { sourceId, mapping }) - logger.info('Projection done') + + this.logger.debug('Viewer project source: layer mappings: ', sourceId, mapping); + await this.signaling?.cmd('project', { sourceId, mapping }); + this.logger.info('Projection done'); } /** * Stop projecting attached source in selected media ids. - * @param {Array} mediaIds - mid value of the receivers that are going to be detached. + * + * @param mediaIds mid value of the receivers that are going to be detached. */ async unproject(mediaIds: Array): Promise { - logger.debug('Viewer unproject mediaIds: ', mediaIds) - await this.signaling?.cmd('unproject', { mediaIds }) - logger.info('Unprojection done') - } - - override async replaceConnection(): Promise { - logger.info('Migrating current connection') - await this.initConnection({ migrate: true }) + this.logger.debug('Viewer unproject mediaIds: ', mediaIds); + await this.signaling?.cmd('unproject', { mediaIds }); + this.logger.info('Unprojection done'); } + /** Close the connection. */ override stop(): void { super.stop() this.drmOptionsMap?.clear() @@ -284,12 +292,17 @@ export default class View extends BaseWebRTC { this.eventQueue.length = 0 } - async initConnection(data: { migrate: boolean }) { - logger.debug('Viewer connect options values: ', this.options) + + + + + + private async initConnection(data: { migrate: boolean }) { + this.logger.debug('Viewer connect options values: ', this.options) this.stopReconnection = false let promises if (!data.migrate && this.isActive()) { - logger.warn('Viewer currently subscribed') + this.logger.warn('Viewer currently subscribed') throw new Error('Viewer currently subscribed') } let subscriberData @@ -304,7 +317,7 @@ export default class View extends BaseWebRTC { } } catch (error) { // TODO: handle DRM error when DRM is enabled but no subscribe token is provided - logger.error('Error generating token.') + this.logger.error('Error generating token.') if (error instanceof FetchError) { if (error.status === 401 || !this.autoReconnect) { // should not reconnect @@ -317,7 +330,7 @@ export default class View extends BaseWebRTC { throw error } if (!subscriberData) { - logger.error('Error while subscribing. Subscriber data required') + this.logger.error('Error while subscribing. Subscriber data required') throw new Error('Subscriber data required') } const decodedJWT = jwtDecode(subscriberData.jwt) as DecodedJWT @@ -337,13 +350,19 @@ export default class View extends BaseWebRTC { await webRTCPeerInstance.createRTCPeer(this.options?.peerConfig) // Stop emiting events from the previous instances - this.stopReemitingWebRTCPeerInstanceEvents?.() + this.stopReemitingWebRTCPeerInstanceEvents?.(); + this.stopReemitingSignalingInstanceEvents?.(); // And start emitting from the new ones this.stopReemitingWebRTCPeerInstanceEvents = reemit( webRTCPeerInstance, this, - Object.values(webRTCEvents).filter((e) => e !== webRTCEvents.track) - ) + [ 'connectionStateChange' ] + ); + this.stopReemitingSignalingInstanceEvents = reemit( + signalingInstance, + this, + [ 'viewercount', 'migrate', 'updated' ] + ); if (this.options?.metadata) { if (!this.worker) { @@ -352,7 +371,7 @@ export default class View extends BaseWebRTC { this.worker.onmessage = (message) => { if (message.data.event === 'metadata') { const decoder = new TextDecoder() - const metadata: MetadataObject = message.data.metadata + const metadata: MetadataEventPayload = message.data.metadata metadata.mid = message.data.mid metadata.track = this.tracksMidValues[message.data.mid] if (message.data.metadata.uuid) { @@ -373,22 +392,12 @@ export default class View extends BaseWebRTC { metadata.unregistered = json } catch (e) { // was not a JSON, just return the raw bytes (i.e. do nothing) - logger.info('The content could not be converted to JSON, returning raw bytes instead') + this.logger.info('The content could not be converted to JSON, returning raw bytes instead') } } - /** - * Emits when metadata have been extracted from the stream. - * - * @event View#metadata - * @type {Object} - * @property {String} mid - Media identifier that contains the metadata. - * @property {Object} track - Track object that contains the metadata. - * @property {String} uuid - UUID of the metadata. - * @property {Date} timecode - Timecode of when the metadata were generated. - * @property {Object} unregistered - Unregistered data. - */ - this.emit('metadata', metadata) + // Emits when metadata have been extracted from the stream. + this.emit('metadata', metadata); } } } @@ -399,29 +408,22 @@ export default class View extends BaseWebRTC { return } this.onTrackEvent(trackEvent) - }) + }); - signalingInstance.on(signalingEvents.broadcastEvent, (event) => { - if (event.data.sourceId === null) { - switch (event.name) { - case 'active': - this.emit('broadcastEvent', event) - this.isMainStreamActive = true - while (this.eventQueue.length > 0) { - this.onTrackEvent(this.eventQueue.shift() as RTCTrackEvent) - } - return - case 'inactive': - this.isMainStreamActive = false - break - default: - break - } + signalingInstance.on('active', (obj: ActiveEventPayload) => { + this.emit('active', obj); + this.isMainStreamActive = true; + while (this.eventQueue.length > 0) { + this.onTrackEvent(this.eventQueue.shift() as RTCTrackEvent); } - this.emit('broadcastEvent', event) - }) + }); - const options = { ...(this.options as ViewConnectOptions), stereo: true } + signalingInstance.on('inactive', (obj: InactiveEventPayload) => { + this.emit('inactive', obj); + this.isMainStreamActive = false; + }); + + const options = { ...(this.options as ViewerConnectOptions), stereo: true } const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(options) const signalingConnectPromise = signalingInstance.connect() promises = await Promise.all([getLocalSDPPromise, signalingConnectPromise]) @@ -433,7 +435,7 @@ export default class View extends BaseWebRTC { const subscribePromise = this.signaling.subscribe(localSdp, { ...this.options, vad: !!this.options?.multiplexedAudioTracks, - } as ViewConnectOptions) + } as ViewerConnectOptions) const setLocalDescriptionPromise = webRTCPeerInstance.peer?.setLocalDescription( webRTCPeerInstance.sessionDescription as RTCSessionDescriptionInit ) @@ -444,20 +446,20 @@ export default class View extends BaseWebRTC { await webRTCPeerInstance.setRTCRemoteSDP(sdpSubscriber) - logger.info('Connected to streamName: ', this.streamName) + this.logger.info('Connected to streamName: ', this.streamName) let oldWebRTCPeer: PeerConnection | null = this.webRTCPeer this.webRTCPeer = webRTCPeerInstance this.setReconnect() if (data.migrate) { - this.webRTCPeer.on(webRTCEvents.connectionStateChange, (state) => { + this.webRTCPeer.on('connectionStateChange', (state: string) => { if (state === 'connected') { setTimeout(() => { oldSignaling?.close?.() oldWebRTCPeer?.closeRTCPeer?.() oldSignaling = oldWebRTCPeer = null - logger.info('Current connection migrated') + this.logger.info('Current connection migrated') }, 1000) } else if (['disconnected', 'failed', 'closed'].includes(state)) { oldSignaling?.close?.() @@ -478,11 +480,8 @@ export default class View extends BaseWebRTC { try { rtcDrmOnTrack(trackEvent, drmOptions) } catch (error) { - logger.error('Failed to apply DRM on media Id:', mediaId, 'error is: ', error) - this.emit( - 'error', - new Error('Failed to apply DRM on media Id: ' + mediaId + ' error is: ' + error) - ) + this.logger.error('Failed to apply DRM on media Id:', mediaId, 'error is: ', error) + this.emit('error', new Error('Failed to apply DRM on media Id: ' + mediaId + ' error is: ' + error)) } if (!this.worker) { this.worker = new TransformWorker() @@ -494,10 +493,10 @@ export default class View extends BaseWebRTC { } }) } else { - logger.warn('drmConfig not defined in track event') + this.logger.warn('drmConfig not defined in track event') } } else { - logger.warn('mediaId not defined in track event') + this.logger.warn('mediaId not defined in track event') } } if (this.options?.metadata) { @@ -527,6 +526,22 @@ export default class View extends BaseWebRTC { this.emit('track', trackEvent) } + /** @ignore */ + override async replaceConnection(): Promise { + this.logger.info('Migrating current connection') + await this.initConnection({ migrate: true }) + } + + + + + + + + + + + getDRMConfiguration(mediaId: string) { return this.drmOptionsMap ? this.drmOptionsMap.get(mediaId) : null } @@ -543,7 +558,7 @@ export default class View extends BaseWebRTC { if (this.subscriberToken) { opts.headers.append('Authorization', `Bearer ${this.subscriberToken}`) } else { - logger.warn('onRtcDrmFetch: no subscriberToken') + this.logger.warn('onRtcDrmFetch: no subscriberToken') } return fetch(url, opts) } @@ -618,7 +633,7 @@ export default class View extends BaseWebRTC { } drmOptions.videoElement.addEventListener('rtcdrmerror', (event: unknown) => { const rtcDrmErrorEvent = event as { detail: { message: string } } - logger.error( + this.logger.error( 'DRM error: ', rtcDrmErrorEvent.detail.message, 'in video element:', @@ -627,7 +642,7 @@ export default class View extends BaseWebRTC { this.emit('error', new Error(rtcDrmErrorEvent.detail.message)) }) } catch (error) { - logger.error('Failed to configure DRM with options:', options, 'error is:', error) + this.logger.error('Failed to configure DRM with options:', options, 'error is:', error) } } @@ -640,9 +655,9 @@ export default class View extends BaseWebRTC { } /** - * Check if there are any DRM protected Track + * Checks if there are any DRM protected tracks. */ - get isDRMOn() { + public get isDRMOn() { return !!this.drmOptionsMap && this.drmOptionsMap.size > 0 } @@ -666,12 +681,12 @@ export default class View extends BaseWebRTC { try { rtcDrmConfigure(targetDRMOptions) } catch (error) { - logger.error('Failed to configure DRM with options:', targetDRMOptions, 'error is:', error) + this.logger.error('Failed to configure DRM with options:', targetDRMOptions, 'error is:', error) } try { rtcDrmConfigure(sourceDRMOptions) } catch (error) { - logger.error('Failed to configure DRM with options:', sourceDRMOptions, 'error is:', error) + this.logger.error('Failed to configure DRM with options:', sourceDRMOptions, 'error is:', error) } } } diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index 8256c3f9..c809a5ca 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,7 +1,17 @@ import Logger from './Logger' import PeerConnection from './PeerConnection' import Signaling from './Signaling' -import Director from './Director' -import Publish from './Publish' -import View from './View' -export { Logger, PeerConnection, Signaling, Director, Publish, View } +export { Logger, PeerConnection, Signaling } + +export * from './types/Director.types'; +export * from './Director'; + +export * from './types/events'; + +export * from './types/Viewer.types'; +export * from './Viewer'; + +export * from './types/Publisher.types'; +export * from './Publisher'; + +export * from './utils/BaseWebRTC'; diff --git a/packages/millicast-sdk/src/types/Director.types.ts b/packages/millicast-sdk/src/types/Director.types.ts index 85c95109..77fc5b4e 100644 --- a/packages/millicast-sdk/src/types/Director.types.ts +++ b/packages/millicast-sdk/src/types/Director.types.ts @@ -1,3 +1,7 @@ +/** + * Response from the Director API. + * @hidden + */ export type MillicastDirectorResponse = { /** * - WebSocket available URLs. @@ -13,6 +17,10 @@ export type MillicastDirectorResponse = { iceServers: Array } +/** + * Director Publisher Options + * @hidden + */ export type DirectorPublisherOptions = { /** * - Millicast Publishing Token. @@ -22,11 +30,9 @@ export type DirectorPublisherOptions = { * - Millicast Stream Name. */ streamName: string - /** - * - Millicast Stream Type. - */ - streamType?: 'WebRtc' | 'Rtmp' } + +/** @hidden */ export type DirectorSubscriberOptions = { /** * - Millicast publisher Stream Name. @@ -42,6 +48,7 @@ export type DirectorSubscriberOptions = { subscriberToken?: string } +/** @hidden */ export type DirectorResponse = { urls: string[] jwt: string @@ -52,6 +59,7 @@ export type DirectorResponse = { /** * DRM profile from director API which includes the URLs of license servers + * @hidden */ export interface DRMProfile { playReadyUrl?: string @@ -60,4 +68,5 @@ export interface DRMProfile { fairPlayCertUrl?: string } +/** @hidden */ export type TokenGeneratorCallback = () => Promise diff --git a/packages/millicast-sdk/src/types/Publish.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts similarity index 83% rename from packages/millicast-sdk/src/types/Publish.types.ts rename to packages/millicast-sdk/src/types/Publisher.types.ts index 1470af06..a2f1dbf9 100644 --- a/packages/millicast-sdk/src/types/Publish.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -2,32 +2,54 @@ import { PublishServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' +/** + * Publisher Options + */ +export interface PublisherOptions { + /** + * Millicast publisher Stream Name. + */ + streamName: string + /** + * Publish token. + */ + publishToken: string + /** + * Enable auto reconnect in case of disconnection. + * @default true + */ + autoReconnect?: boolean +} + +/** + * Options to publish a stream. + */ export interface PublishConnectOptions { /** * - Source unique id. Only avialable if stream is multisource. */ - sourceId?: string | null + sourceId?: string | null; /** * - True to modify SDP for support stereo. Otherwise False. */ - stereo?: boolean + stereo?: boolean; /** * - True to modify SDP for supporting dtx in opus. Otherwise False. */ - dtx?: boolean + dtx?: boolean; /** * - True to modify SDP for supporting absolute capture time header extension. Otherwise False. */ - absCaptureTime?: boolean + absCaptureTime?: boolean; /** * - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. */ - dependencyDescriptor?: boolean + dependencyDescriptor?: boolean; /** * - MediaStream to offer in a stream. This object must have * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. */ - mediaStream: MediaStream | Array | null + mediaStream: MediaStream | Array | null; /** * - Broadcast bandwidth. 0 for unlimited. */ diff --git a/packages/millicast-sdk/src/types/Signaling.types.ts b/packages/millicast-sdk/src/types/Signaling.types.ts index d6b314bf..8f3876c0 100644 --- a/packages/millicast-sdk/src/types/Signaling.types.ts +++ b/packages/millicast-sdk/src/types/Signaling.types.ts @@ -1,6 +1,6 @@ import { PublishServerEvent, ViewServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' -import { LayerInfo } from './View.types' +import { LayerInfo } from './Viewer.types' export type SignalingSubscribeOptions = { vad?: boolean diff --git a/packages/millicast-sdk/src/types/TransformWorker.types.ts b/packages/millicast-sdk/src/types/TransformWorker.types.ts index dcb0c3c9..160deb81 100644 --- a/packages/millicast-sdk/src/types/TransformWorker.types.ts +++ b/packages/millicast-sdk/src/types/TransformWorker.types.ts @@ -1,5 +1,5 @@ import { VideoCodec } from './Codecs.types' -import { SEIUserUnregisteredData } from './View.types' +import { SEIUserUnregisteredData } from './events' export interface TransformWorkerSeiMetadata { uuid: string diff --git a/packages/millicast-sdk/src/types/View.types.ts b/packages/millicast-sdk/src/types/Viewer.types.ts similarity index 55% rename from packages/millicast-sdk/src/types/View.types.ts rename to packages/millicast-sdk/src/types/Viewer.types.ts index b662913d..a4a31069 100644 --- a/packages/millicast-sdk/src/types/View.types.ts +++ b/packages/millicast-sdk/src/types/Viewer.types.ts @@ -2,7 +2,33 @@ import { Media, ViewServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' -export type ViewConnectOptions = { +/** + * Viewer Options. + */ +export interface ViewerOptions { + /** + * Millicast publisher Stream Name. + */ + streamName: string + /** + * Millicast Account ID. + */ + streamAccountId: string + /** + * Token to subscribe to secure streams. If you are subscribing to an unsecure stream, you can omit this param. + */ + subscriberToken?: string + /** + * Auto reconnect if the stream is offline. + * @default true + */ + autoReconnect?: boolean +} + +/** + * Options when connecting to a stream. + */ +export interface ViewerConnectOptions { /** * - True to modify SDP for supporting dtx in opus. Otherwise False. */ @@ -69,44 +95,43 @@ export type ViewConnectOptions = { codec?: VideoCodec } +/** Description of a source mapping used for projection. */ export type ViewProjectSourceMapping = { - /** - * - Track id from the source (received on the "active" event), if not set the media kind will be used instead. - */ + /** Track id from the source (received on the "active" event), if not set the media kind will be used instead. */ trackId?: string /** - * - mid value of the rtp receiver in which the media is going to be projected. If no mediaId is defined, the first track from the main media stream with the same media type as the input source track will be used. + * mid value of the rtp receiver in which the media is going to be projected. + * If no mediaId is defined, the first track from the main media stream with the same media type as the input source track will be used. */ mediaId?: string - /** - * - Track kind of the source ('audio' | 'video'), if not set the trackId will be used instead. - */ + /** Track kind of the source ('audio' | 'video'), if not set the trackId will be used instead. */ media?: Media - /** - * - Select the simulcast encoding layer and svc layers, only applicable to video tracks. - */ + /** Select the simulcast encoding layer and svc layers, only applicable to video tracks. */ layer?: LayerInfo + /** To remove all existing limitations from the source, such as restricted bitrate or resolution, set this to true. */ + promote?: boolean; } +/** Description of a quality layer. */ export type LayerInfo = { /** - * - rid value of the simulcast encoding of the track (default: automatic selection) + * rid value of the simulcast encoding of the track (default: automatic selection) */ encodingId: string /** - * - The spatial layer id to send to the outgoing stream (default: max layer available) + * The spatial layer id to send to the outgoing stream (default: max layer available) */ spatialLayerId: number /** - * - The temporaral layer id to send to the outgoing stream (default: max layer available) + * The temporaral layer id to send to the outgoing stream (default: max layer available) */ temporalLayerId: number /** - * - Max spatial layer id (default: unlimited) + * Max spatial layer id (default: unlimited) */ maxSpatialLayerId: number /** - * - Max temporal layer id (default: unlimited) + * Max temporal layer id (default: unlimited) */ maxTemporalLayerId: number } @@ -170,24 +195,6 @@ export type EncryptionParameters = { iv: string } -export type SEIUserUnregisteredData = string | object | number - -export interface MetadataObject { - mid: string - track: MediaStreamTrack - uuid: string - unregistered: SEIUserUnregisteredData - timecode: Date -} - -/** - * Broadcast event - */ -export type BroadcastEventName = ViewServerEvent - -export interface BroadcastEvent { - name: BroadcastEventName -} /** * Active Event @@ -196,99 +203,3 @@ export interface TrackInfo { trackId: string media: Media } - -export interface ActiveEventPayload { - streamId: string - sourceId: string | null - tracks: TrackInfo[] - encryption?: EncryptionParameters -} - -export interface ActiveEvent extends BroadcastEvent { - name: Extract - data: ActiveEventPayload -} - - -/** - * Inactive Event - */ -export interface InactiveEventPayload { - streamId: string - sourceId: string | null -} - -export interface InactiveEvent extends BroadcastEvent { - name: Extract - data: InactiveEventPayload -} - - -/** - * ViewerCount Event - */ -export interface ViewerCountEventPayload { - viewerCount: number -} - -export interface ViewerCountEvent extends BroadcastEvent { - name: Extract - data: ViewerCountEventPayload -} - - -/** - * Layers Event - */ -export interface LayersEventPayload { - medias: LayersMediaCollection -} - -export interface LayersMediaCollection { - [key: string]: LayerMedia -} - -export interface LayerMedia { - active: Array - inactive: Array - layers: Array -} - -export interface LayerMediaInfo { - id: string - simulcastIdx: number - totalBytes: number - numPackets: number - bitrate: number - totalBitrate: number - width: number - height: number - layers: Array -} - -export interface Layer extends Omit { - encodingId: string - spatialLayerId: number - temporalLayerId: number -} - -export interface LayersEvent extends BroadcastEvent { - name: Extract - data: LayersEventPayload -} - -/** - * Metadata Event - */ -export type MetadataEvent = MetadataObject - -/** - * Events declaration of Viewers that user could listen to - */ -export interface ViewerEvents { - 'broadcastEvent'?: BroadcastEvent - 'track'?: RTCTrackEvent - 'metadata'?: MetadataEvent - // TODO: elaborate error type - 'error'?: Error -} \ No newline at end of file diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts new file mode 100644 index 00000000..20605983 --- /dev/null +++ b/packages/millicast-sdk/src/types/events.ts @@ -0,0 +1,240 @@ +import { BaseWebRTC } from '../utils/BaseWebRTC'; +import { Publisher } from '../Publisher'; +import { Viewer } from '../Viewer'; +import PeerConnection from '../PeerConnection'; +import Signaling from '../Signaling'; +import TransactionManager from 'transaction-manager'; +import { EncryptionParameters, TrackInfo } from './Viewer.types'; +import { EmittedEvents } from '../utils/TypedEventEmitter'; + +/** + * Events triggered by the {@link PeerConnection} classe. + */ +export interface PeerConnectionEvents extends EmittedEvents { + /** Triggered when a new track is available. */ + track(trackEvent: RTCTrackEvent): void; + + /** Triggered when the state of the connection changes. */ + connectionStateChange(newState: string): void; +} + +/** + * Events triggered by the {@link Signaling} classe. + */ +export interface SignalingEvents extends EmittedEvents { + /** + * Connection success. + */ + wsConnectionSuccess(event: { + /** WebSocket object which represents active connection. */ + ws: WebSocket, + /** [TransactionManager](https://github.com/medooze/transaction-manager) object that simplify WebSocket commands. */ + tm: TransactionManager | null + }): void; + + /** Triggered when there is a web socket connection error. */ + wsConnectionError(event: string): void; + + /** Triggered when the web socket connection closes. */ + wsConnectionClose(): void; + + /** Triggered when the stream has stopped for a given reason. */ + stopped(): void; + + /** Triggered when using multiplexed tracks for audio. */ + vad(): void; + + /** + * Triggered when there is an update of the state of the layers in a stream (when broadcasting with simulcast). + * @param obj event payload. + * */ + layers(obj: LayersEventPayload): void; + + /** Triggered when the server is having problems, is shutting down or when viewers need to move for load balancing purposes. */ + migrate(): void; + + /** Triggered when an active stream's tracks are updated. */ + updated(): void; + + /** + * Fires when the live stream is, or has started broadcasting. + * @param obj event payload. + */ + active(obj: ActiveEventPayload): void; + + /** + * Fires when the stream has stopped broadcasting, but is still available. + * @param obj event payload. + */ + inactive(obj: InactiveEventPayload): void; +} + +/** + * Events triggered by the {@link Viewer}, {@link Publisher} and {@link BaseWebRTC} classes. + */ +export interface BaseWebRTCEvents extends EmittedEvents { + /** + * Event triggered from time to time to indicate the number of viewers connected to the stream. + * + * @example + * ```ts + * // TODO + * + * viewer.on('viewercount', (count: number) => { + * console.log(count, 'viewer(s) connected.'); + * }); + * ``` + * + * @param count Number of viewers connected to the stream. + */ + viewercount(count: number): void; + + /** + * Fires when the live stream is, or has started broadcasting. + * @param obj event payload. + */ + active(obj: ActiveEventPayload): void; + + /** + * Fires when the stream has stopped broadcasting, but is still available. + * @param obj event payload. + */ + inactive(obj: InactiveEventPayload): void; + + /** + * Emits with every reconnection attempt made when an active stream + * stopped unexpectedly. + * @param obj event payload. + */ + reconnect(obj: ReconnectEventPayload): void; + + /** + * Fires when an error occurs. + * @param error Error that was triggered. + */ + error(error: Error): void; +} + +/** + * Events triggered by the {@link Publisher} class. + */ +export interface PublisherEvents extends PeerConnectionEvents, SignalingEvents, BaseWebRTCEvents { + +} + +/** + * Events triggered by the {@link Viewer} class. + */ +export interface ViewerEvents extends BaseWebRTCEvents { + /** Track event. */ + track(trackEvent: RTCTrackEvent): void; + + /** Triggered when a video track has metadata. */ + metadata(obj: MetadataEventPayload): void; + + /** Triggered when the stream has stopped for a given reason. */ + stopped(): void; + + /** Triggered when using multiplexed tracks for audio. */ + vad(): void; + + /** + * Triggered when there is an update of the state of the layers in a stream (when broadcasting with simulcast). + * @param obj event payload. + * */ + layers(obj: LayersEventPayload): void; + + /** Triggered when the server is having problems, is shutting down or when viewers need to move for load balancing purposes. */ + migrate(): void; + + /** Triggered when an active stream's tracks are updated. */ + updated(): void; +} + +/** Event payload triggered by {@link ViewerEvents.metadata}. */ +export interface MetadataEventPayload { + /** Media identifier that contains the metadata. */ + mid: string; + /** Track object that contains the metadata. */ + track: MediaStreamTrack; + /** UUID of the metadata. */ + uuid: string; + /** Unregistered data. */ + unregistered: SEIUserUnregisteredData; + /** Timecode of when the metadata were generated. */ + timecode: Date; +} + +/** Represent an SEI unregistered data value. */ +export type SEIUserUnregisteredData = string | object | number; + +/** Event payload triggered by {@link BaseWebRTCEvents.reconnect}. */ +export interface ReconnectEventPayload { + /** Next retry interval in milliseconds. */ + timeout: number, + /** + * Error object with cause of failure. Possible errors are: + * * `Signaling error: wsConnectionError` if there was an error in the Websocket connection. + * * `Connection state change: RTCPeerConnectionState disconnected` if there was an error in the RTCPeerConnection. + * * `Attempting to reconnect` if the reconnect was trigered externally. + * * Or any internal error thrown by either Publish.connect or View.connect methods + */ + error: Error +} + +/** Event payload triggered by {@link BaseWebRTCEvents.active}. */ +export interface ActiveEventPayload { + /** */ + streamId: string; + /** */ + sourceId?: string; + /** */ + tracks: TrackInfo[]; + /** */ + encryption?: EncryptionParameters; +} + +/** Event payload triggered by {@link BaseWebRTCEvents.inactive}. */ +export interface InactiveEventPayload { + /** */ + streamId: string; + /** */ + sourceId?: string; +} + +/** Event payload triggered by {@link BaseWebRTCEvents.inactive}. */ +export interface LayersEventPayload { + medias: LayersMediaCollection +} + +/** */ +export interface LayersMediaCollection { + [key: string]: LayerMedia +} + +/** */ +export interface LayerMedia { + active: Array + inactive: Array + layers: Array +} + +/** */ +export interface LayerMediaInfo { + id: string + simulcastIdx: number + totalBytes: number + numPackets: number + bitrate: number + totalBitrate: number + width: number + height: number + layers: Array +} + +/** */ +export interface Layer extends Omit { + encodingId: string + spatialLayerId: number + temporalLayerId: number +} diff --git a/packages/millicast-sdk/src/types/index.d.ts b/packages/millicast-sdk/src/types/index.d.ts deleted file mode 100644 index 4abcfc00..00000000 --- a/packages/millicast-sdk/src/types/index.d.ts +++ /dev/null @@ -1,1595 +0,0 @@ -// /* eslint-disable */ -// import * as js_logger from 'js-logger' -// import * as events from 'events' - -// declare module '@millicast/sdk' { -// export type LogLevel = { -// /** -// * - The numerical representation of the level. -// */ -// value: number -// /** -// * - Human readable name of the log level. -// */ -// name: string -// } -// /** -// * @module Logger -// * @description Manages all log messages from SDK modules, you can use this logger to add your custom -// * messages and set your custom log handlers to forward all messages to your own monitoring -// * system. -// * -// * By default all loggers are set in level OFF (Logger.OFF), and there are available -// * the following log levels. -// * -// * This module is based on [js-logger](https://github.com/jonnyreeves/js-logger) you can refer -// * to its documentation or following our examples. -// * -// * -// * -// * @property {LogLevel} TRACE - Logger.TRACE -// * @property {LogLevel} DEBUG - Logger.DEBUG -// * @property {LogLevel} INFO - Logger.INFO -// * @property {LogLevel} TIME - Logger.TIME -// * @property {LogLevel} WARN - Logger.WARN -// * @property {LogLevel} ERROR - Logger.ERROR -// * @property {LogLevel} OFF - Logger.OFF -// * @example -// * // Log a message -// * Logger.info('This is an info log', 445566) -// * // [Global] 2021-04-05T15:58:44.893Z - This is an info log 445566 -// * @example -// * // Create a named logger -// * const myLogger = Logger.get('CustomLogger') -// * myLogger.setLevel(Logger.WARN) -// * myLogger.warn('This is a warning log') -// * // [CustomLogger] 2021-04-05T15:59:53.377Z - This is a warning log -// * @example -// * // Profiling -// * // Start timing something -// * Logger.time('Timer name') -// * -// * // ... some time passes ... -// * -// * // Stop timing something. -// * Logger.timeEnd('Timer name') -// * // Timer name: 35282.997802734375 ms -// */ - -// export type StatsFormat = Logger.JSON | Logger.CMCD - -// export type DiagnosticReportConfiguration = { -// /** -// * Number of stats objects to be included in the diagnostics report. -// */ -// statsCount: number - -// /** -// * Amount of history messages to be returned. -// */ -// historySize: number - -// /** -// * Levels of history messages to be included. Defaults to Logger.TRACE -// * Possible values include 'TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR' -// */ -// minLogLevel: string - -// /** -// * Format of the stats objects in the diagnostics report. Use Logger.JSON or Logger.CMCD. -// */ -// statsFormat: StatsFormat -// } - -// export type DiagnosticsResponse = { -// /** -// * Represents the Millicast product in use. -// */ -// client: string -// /** -// * The version of the Millicast client in use -// */ -// version: string -// /** -// * UNIX timestamp to indicate when this report was generated -// */ -// timestamp: number -// /** -// * Device user agent string -// */ -// userAgent: string -// /** -// * The account Id for which the stream is being published/viewed -// */ -// accountId: string -// /** -// * The Millicast stream name being published/viewed -// */ -// streamName: string -// /** -// * A session level identifier for the client instancce -// */ -// subscriberId: string -// /** -// * Connection status. -// */ -// connection: string -// /** -// * Id of the stream -// */ -// streamViewId: string -// /** -// * A collection of log events reocrded until the diagnose method was called -// */ -// history: Array -// /** -// * represents a collection of the webRTC stats collected before the diagnose call. -// */ -// stats: Array - -// /** -// * Represents how long the stream has been connected for. If a stream disconnects and -// * re-connects a few times, this will reflect the duration only since the last time a -// * successful connection was established -// */ -// connectionDurationMs: number -// } - -// export class Logger { -// enabledFor: (level: any, loggerName: any) => boolean -// /** -// * @function -// * @name getHistory -// * @description Get all logs generated during a session. -// * All logs are recollected besides the log level selected by the user. -// * @returns {Array} All logs recollected from level TRACE. -// * @example Logger.getHistory() -// * // Outupt -// * // [ -// * // "[Director] 2021-04-05T14:09:26.625Z - Getting publisher connection data for stream name: 1xxx2", -// * // "[Director] 2021-04-05T14:09:27.064Z - Getting publisher response", -// * // "[Publish] 2021-04-05T14:09:27.066Z - Broadcasting" -// * // ] -// */ -// getHistory: () => Array -// /** -// * @function -// * @name getHistoryMaxSize -// * @description Get the maximum count of logs preserved during a session. -// * @example Logger.getHistoryMaxSize() -// */ -// getHistoryMaxSize: () => number -// /** -// * @function -// * @name setHistoryMaxSize -// * @description Set the maximum count of logs to preserve during a session. -// * By default it is set to 10000. -// * @param {Number} maxSize - Max size of log history. Set 0 to disable history or -1 to unlimited log history. -// * @example Logger.setHistoryMaxSize(100) -// */ -// setHistoryMaxSize: (maxSize: number) => void -// /** -// * @function -// * @name setLevel -// * @description Set log level to all loggers. -// * @param {LogLevel} level - New log level to be set. -// * @example -// * // Global Level -// * Logger.setLevel(Logger.DEBUG) -// * -// * // Module Level -// * Logger.get('Publish').setLevel(Logger.DEBUG) -// */ -// setLevel: (level: LogLevel) => void -// /** -// * @function -// * @name getLevel -// * @description Get global current logger level. -// * Also you can get the level of any particular logger. -// * @returns {LogLevel} -// * @example -// * // Global Level -// * Logger.getLevel() -// * // Output -// * // {value: 2, name: 'DEBUG'} -// * -// * // Module Level -// * Logger.get('Publish').getLevel() -// * // Output -// * // {value: 5, name: 'WARN'} -// */ -// getLevel: () => LogLevel -// /** -// * @function -// * @name get -// * @description Gets or creates a named logger. Named loggers are used to group log messages -// * that refers to a common context. -// * @param {String} name -// * @returns {Object} Logger object with same properties and functions as Logger except -// * history and handlers related functions. -// * @example -// * const myLogger = Logger.get('MyLogger') -// * // Set logger level -// * myLogger.setLevel(Logger.DEBUG) -// * -// * myLogger.debug('This is a debug log') -// * myLogger.info('This is a info log') -// * myLogger.warn('This is a warning log') -// * -// * // Get logger level -// * myLogger.getLevel() -// * // {value: 3, name: 'INFO'} -// */ -// get: (name: string) => any -// /** -// * Callback which handles log messages. -// * -// * @callback loggerHandler -// * @global -// * @param {any[]} messages - Arguments object with the supplied log messages. -// * @param {Object} context -// * @param {LogLevel} context.level - The currrent log level. -// * @param {String?} context.name - The optional current logger name. -// */ -// /** -// * @function -// * @name setHandler -// * @description Add your custom log handler to Logger at the specified level. -// * @param {loggerHandler} handler - Your custom log handler function. -// * @param {LogLevel} level - Log level to filter messages. -// * @example -// * const myHandler = (messages, context) => { -// * // You can filter by logger -// * if (context.name === 'Publish') { -// * sendToMyLogger(messages[0]) -// * } -// * -// * // You can filter by logger level -// * if (context.level.value >= Logger.INFO.value) { -// * sendToMyLogger(messages[0]) -// * } -// * } -// * -// * Logger.setHandler(myHandler, Logger.INFO) -// */ -// setHandler: ( -// handler: (messages: any[], context: any, level: LogLevel, name: string | null) => any, -// level: LogLevel -// ) => void -// /** -// * @function -// * @name diagnose -// * @description Returns diagnostics information about the connection and environment, formatted according to the specified parameters. -// * @param {Object | Number} config - Configuration object for the diagnostic parameters -// * @param {Number} [config.statsCount = 60] - Number of stats objects to be included in the diagnostics report. -// * @param {Number} [config.historySize = 1000] - Amount of history messages to be returned. -// * @param {String} [config.minLogLevel] - Levels of history messages to be included. -// * examples of minLogLevel values in level order: -// * 1 - TRACE -// * 2 - DEBUG -// * 3 - INFO -// * 4 - WARN -// * 5 - ERROR -// * If 'INFO' (3) given, return INFO (3), WARN (4), and ERROR (5) level messages. -// * @param {String} [config.statsFormat='JSON'] - Format of the stats objects in the diagnostics report. Use Logger.JSON or Logger.CMCD. -// * @returns {Object} An object containing relevant diagnostics information such as userAgent, SDK version, and stats data. -// * @example -// * // Example using default parameters -// * const diagnosticsDefault = Logger.diagnose(); -// * -// * // Example specifying statsCount and format -// * const diagnostics = Logger.diagnose({ statsCount: 30, minLogLevel: 'INFO', format: Logger.CMCD }); -// * -// * // Output: Diagnostics object with specified configuration -// */ -// diagnose: (config: DiagnosticReportConfiguration) => DiagnosticsResponse -// /** -// * @var -// * @name VERSION -// * @description Returns the current SDK version. -// */ -// VERSION: string -// useDefaults(options?: js_logger.ILoggerOpts): void -// createDefaultHandler(options?: any): js_logger.ILogHandler -// static get TRACE(): js_logger.ILogLevel -// static get DEBUG(): js_logger.ILogLevel -// static get INFO(): js_logger.ILogLevel -// static get TIME(): js_logger.ILogLevel -// static get WARN(): js_logger.ILogLevel -// static get ERROR(): js_logger.ILogLevel -// static get OFF(): js_logger.ILogLevel -// trace(...x: any[]): void -// debug(...x: any[]): void -// info(...x: any[]): void -// log(...x: any[]): void -// warn(...x: any[]): void -// error(...x: any[]): void -// time(label: string): void -// timeEnd(label: string): void -// } - -// export type ConnectionStats = { -// /** -// * - All RTCPeerConnection stats without parsing. Reference {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport}. -// */ -// raw: RTCStatsReport -// /** -// * - Parsed audio information. -// */ -// audio: TrackReport -// /** -// * - Parsed video information. -// */ -// video: TrackReport -// /** -// * - The available outbound capacity of the network connection. The higher the value, the more bandwidth you can assume is available for outgoing data. The value is reported in bits per second. -// * -// * This value comes from the nominated candidate-pair. -// */ -// availableOutgoingBitrate: number -// /** -// * - Total round trip time is the total time in seconds that has elapsed between sending STUN requests and receiving the responses. -// * -// * This value comes from the nominated candidate-pair. -// */ -// totalRoundTripTime: number -// /** -// * - Current round trip time indicate the number of seconds it takes for data to be sent by this peer to the remote peer and back over the connection described by this pair of ICE candidates. -// * -// * This value comes from the nominated candidate-pair. -// */ -// currentRoundTripTime: number -// /** -// * - Local candidate type from the nominated candidate-pair which indicates the type of ICE candidate the object represents. -// */ -// candidateType: RTCIceCandidateType -// } -// export type TrackReport = { -// /** -// * - Parsed information of each inbound-rtp. -// */ -// inbounds: Array -// /** -// * - Parsed information of each outbound-rtp. -// */ -// outbounds: Array -// } -// export type InboundStats = { -// /** -// * - inbound-rtp Id. -// */ -// id: string -// /** -// * - Current Jitter measured in seconds. -// */ -// jitter: number -// /** -// * - Mime type if related report had codec report associated. -// */ -// mimeType?: string -// /** -// * - Current framerate if it's video report. -// */ -// framesPerSecond?: number -// /** -// * - Current frame height if it's video report. -// */ -// frameHeight?: number -// /** -// * - Current frame width if it's video report. -// */ -// frameWidth?: number -// /** -// * - Total number of key frames that have been decoded if it's video report. -// */ -// keyFramesDecoded?: number -// /** -// * - Total number of frames that have been decoded if it's video report. -// */ -// framesDecoded?: number -// /** -// * - Total number of frames that have been dropped if it's video report. -// */ -// framesDropped?: number -// /** -// * - Total number of frames that have been received if it's video report. -// */ -// framesReceived?: number -// /** -// * - Timestamp of report. -// */ -// timestamp: number -// /** -// * - Total bytes received is an integer value which indicates the total number of bytes received so far from this synchronization source. -// */ -// totalBytesReceived: number -// /** -// * - Total packets received indicates the total number of packets of any kind that have been received on the connection described by the pair of candidates. -// */ -// totalPacketsReceived: number -// /** -// * - Total packets lost. -// */ -// totalPacketsLost: number -// /** -// * - Total packet lost ratio per second. -// */ -// packetsLostRatioPerSecond: number -// /** -// * - Total packet lost delta per second. -// */ -// packetsLostDeltaPerSecond: number -// /** -// * - Current bitrate in Bytes per second. -// */ -// bitrate: number -// /** -// * - Current bitrate in bits per second. -// */ -// bitrateBitsPerSecond: number -// /** -// * - Total delay in seconds currently experienced by the jitter buffer. -// */ -// jitterBufferDelay: number -// /** -// * - Total number of packets emitted from the jitter buffer. -// */ -// jitterBufferEmittedCount: number -// } - -// export type OutboundStats = { -// /** -// * - outbound-rtp Id. -// */ -// id: string -// /** -// * - Mime type if related report had codec report associated. -// */ -// mimeType?: string -// /** -// * - Current framerate if it's video report. -// */ -// framesPerSecond?: number -// /** -// * - Current frame height if it's video report. -// */ -// frameHeight?: number -// /** -// * - Current frame width if it's video report. -// */ -// frameWidth?: number -// /** -// * - If it's video report, indicate the reason why the media quality in the stream is currently being reduced by the codec during encoding, or none if no quality reduction is being performed. -// */ -// qualityLimitationReason?: string -// /** -// * - Timestamp of report. -// */ -// timestamp: number -// /** -// * - Total bytes sent indicates the total number of payload bytes that hve been sent so far on the connection described by the candidate pair. -// */ -// totalBytesSent: number -// /** -// * - Current bitrate in Bytes per second. -// */ -// bitrate: number -// /** -// * - Current bitrate in bits per second. -// */ -// bitrateBitsPerSecond: number -// /** -// * - Change in the number of bytes sent since the last report. -// */ -// bytesSentDelta: number -// /** -// * - Total number of packets sent. -// */ -// totalPacketsSent: number -// /** -// * - Change in the number of packets sent since the last report. -// */ -// packetsSentDelta: number -// /** -// * - Rate at which packets are being sent, measured in packets per second. -// */ -// packetRate: number -// /** -// * - The target bitrate for the encoder, in bits per second. -// */ -// targetBitrate: number -// /** -// * - Total number of retransmitted packets sent. -// */ -// retransmittedPacketsSent: number -// /** -// * - Change in the number of retransmitted packets sent since the last report. -// */ -// retransmittedPacketsSentDelta: number -// /** -// * - Total number of bytes that have been retransmitted. -// */ -// retransmittedBytesSent: number -// /** -// * - Change in the number of retransmitted bytes sent since the last report. -// */ -// retransmittedBytesSentDelta: number -// /** -// * - Total number of frames sent(applicable for video). -// */ -// framesSent: number -// /** -// * Durations in seconds for which the quality of the media has been limited by the codec, categorized by the limitation reasons such as bandwidth, CPU, or other factors. -// * -// */ -// [qualityLimitationDurations]: Date -// } - -// class PeerConnectionStats extends events.EventEmitter { -// constructor(peer: PeerConnection, config: PeerConnectionConfig) -// peer: PeerConnection -// stats: ConnectionStats -// emitInterval: NodeJS.Timer -// previousStats: ConnectionStats -// /** -// * Initialize the statistics monitoring of the RTCPeerConnection. -// * @param {statsIntervalMs} the interval, in ms, at which stats are returned to the user. -// */ -// init(statsIntervalMs: number): void -// /** -// * Parse incoming RTCPeerConnection stats. -// * @param {RTCStatsReport} rawStats - RTCPeerConnection stats. -// * @returns {ConnectionStats} RTCPeerConnection stats parsed. -// */ -// /** -// * Stops the monitoring of RTCPeerConnection statistics. -// */ -// stop(): void -// } - -// export type ViewerCount = { -// viewercount: number -// } - -// export type MediaTrackInfo = { -// trackId: string -// media: 'audio' | 'video' -// } - -// export type MediaStreamSource = { -// readonly streamId: string -// sourceId: string -// readonly tracks: MediaTrackInfo[] -// } - -// export type MediaLayer = { -// id: string -// bitrate: number -// simulcastIdx: number -// layers: LayerInfo[] -// } - -// export type Media = { -// active: MediaLayer[] -// inactive: MediaLayer[] -// layers: LayerInfo[] -// } - -// export type MediaStreamLayers = { -// medias: Media[] -// } - -// export type BroadcastEvent = { -// type: string -// name: Event -// data: string | ViewerCount | MediaStreamSource | MediaStreamLayers -// } - -// /** -// * @typedef {Object} LayerInfo -// * @property {String} encodingId - rid value of the simulcast encoding of the track (default: automatic selection) -// * @property {Number} spatialLayerId - The spatial layer id to send to the outgoing stream (default: max layer available) -// * @property {Number} temporalLayerId - The temporaral layer id to send to the outgoing stream (default: max layer available) -// * @property {Number} maxSpatialLayerId - Max spatial layer id (default: unlimited) -// * @property {Number} maxTemporalLayerId - Max temporal layer id (default: unlimited) -// */ -// /** -// * @typedef {Object} SignalingSubscribeOptions -// * @property {String} vad - Enable VAD multiplexing for secondary sources. -// * @property {String} pinnedSourceId - Id of the main source that will be received by the default MediaStream. -// * @property {Array} excludedSourceIds - Do not receive media from the these source ids. -// * @property {Array} events - Override which events will be delivered by the server ("active" | "inactive" | "vad" | "layers" | "updated"). -// * @property {LayerInfo} layer - Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. -// */ -// /** -// * @typedef {Object} SignalingPublishOptions -// * @property {VideoCodec} [codec="h264"] - Codec for publish stream. -// * @property {Boolean} [record] - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** -// * @property {String} [sourceId] - Source unique id. **Only available in Tokens with multisource enabled.*** -// * @property {Array} events - Override which events will be delivered by the server ("active" | "inactive"). -// */ -// /** -// * @class Signaling -// * @extends EventEmitter -// * @classdesc Starts WebSocket connection and manages the messages between peers. -// * @example const millicastSignaling = new Signaling(options) -// * @constructor -// * @param {Object} options - General signaling options. -// * @param {String} options.streamName - Millicast stream name to get subscribed. -// * @param {String} options.url - WebSocket URL to signal Millicast server and establish a WebRTC connection. -// */ -// export class Signaling extends events.EventEmitter { -// constructor(options?: { streamName: any; url: string }) - -// streamName: any -// wsUrl: string -// webSocket: WebSocket -// transactionManager: any -// serverId: any -// clusterId: any -// /** -// * Starts a WebSocket connection with signaling server. -// * @example const response = await millicastSignaling.connect() -// * @returns {Promise} Promise object which represents the [WebSocket object]{@link https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API} of the establshed connection. -// * @fires Signaling#wsConnectionSuccess -// * @fires Signaling#wsConnectionError -// * @fires Signaling#wsConnectionClose -// * @fires Signaling#broadcastEvent -// */ -// connect(): Promise -// /** -// * Close WebSocket connection with Millicast server. -// * @example millicastSignaling.close() -// */ -// close(): void -// /** -// * Establish WebRTC connection with Millicast Server as Subscriber role. -// * @param {String} sdp - The SDP information created by your offer. -// * @param {SignalingSubscribeOptions} options - Signaling Subscribe Options. -// * @example const response = await millicastSignaling.subscribe(sdp) -// * @return {Promise} Promise object which represents the SDP command response. -// */ -// subscribe( -// sdp: string, -// options: SignalingSubscribeOptions | boolean, -// pinnedSourceId?: string, -// excludedSourceIds?: Array -// ): Promise -// /** -// * Establish WebRTC connection with Millicast Server as Publisher role. -// * @param {String} sdp - The SDP information created by your offer. -// * @param {SignalingPublishOptions} options - Signaling Publish Options. -// * @example const response = await millicastSignaling.publish(sdp, {codec: 'h264'}) -// * @return {Promise} Promise object which represents the SDP command response. -// */ -// publish( -// sdp: string, -// options: SignalingPublishOptions | VideoCodec, -// record?: boolean, -// sourceId?: string -// ): Promise -// /** -// * Send command to the server. -// * @param {String} cmd - Command name. -// * @param {Object} [data] - Command parameters. -// * @return {Promise} Promise object which represents the command response. -// */ -// cmd(cmd: string, data?: any): Promise -// } -// export type LayerInfo = { -// /** -// * - rid value of the simulcast encoding of the track (default: automatic selection) -// */ -// encodingId: string -// /** -// * - The spatial layer id to send to the outgoing stream (default: max layer available) -// */ -// spatialLayerId: number -// /** -// * - The temporaral layer id to send to the outgoing stream (default: max layer available) -// */ -// temporalLayerId: number -// /** -// * - Max spatial layer id (default: unlimited) -// */ -// maxSpatialLayerId: number -// /** -// * - Max temporal layer id (default: unlimited) -// */ -// maxTemporalLayerId: number -// } -// export type SignalingSubscribeOptions = { -// /** -// * - Enable VAD multiplexing for secondary sources. -// */ -// vad: string -// /** -// * - Id of the main source that will be received by the default MediaStream. -// */ -// pinnedSourceId: string -// /** -// * - Do not receive media from the these source ids. -// */ -// excludedSourceIds: Array -// /** -// * - Override which events will be delivered by the server ("active" | "inactive" | "vad" | "layers" | "updated"). -// */ -// events: Array -// /** -// * - Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. -// */ -// layer: LayerInfo -// } -// export type SignalingPublishOptions = { -// /** -// * - Codec for publish stream. -// */ -// codec?: VideoCodec -// /** -// * - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** -// */ -// record?: boolean -// /** -// * - Source unique id. **Only available in Tokens with multisource enabled.*** -// */ -// sourceId?: string -// /** -// * - Override which events will be delivered by the server ("active" | "inactive"). -// */ -// events: Array -// } -// interface CodecInfo { -// /** -// * - Audio or video codec name. -// */ -// codec: VideoCodec | AudioCodec -// /** -// * - Audio or video codec mime type. -// */ -// mimetype: string -// } - -// export type VideoCodec = 'vp8' | 'vp9' | 'h264' | 'av1' -// export type AudioCodec = 'opus' | 'multiopus' - -// export type MillicastCapabilities = { -// codecs: Array -// /** -// * - In case of SVC support, a list of scalability modes supported. -// */ -// scalabilityModes?: Array -// /** -// * - Only for audio, the number of audio channels supported. -// */ -// channels?: number -// /** -// * - An array specifying the URI of the header extension, as described in RFC 5285. -// */ -// headerExtensions: Array -// } - -// /** -// * @class PeerConnection -// * @extends EventEmitter -// * @classdesc Manages WebRTC connection and SDP information between peers. -// * @example const peerConnection = new PeerConnection() -// * @constructor -// */ -// export class PeerConnection extends events.EventEmitter { -// /** -// * -// * @property {Array} codecs -// * @property {String} codecs.codec - Audio or video codec name. -// * @property {String} codecs.mimeType - Audio or video codec mime type. -// * @property {Array} [codecs.scalabilityModes] - In case of SVC support, a list of scalability modes supported. -// * @property {Number} [codecs.channels] - Only for audio, the number of audio channels supported. -// * @property {Array} headerExtensions - An array specifying the URI of the header extension, as described in RFC 5285. -// */ -// /** -// * Gets user's browser media capabilities compared with Millicast Media Server support. -// * -// * @param {"audio"|"video"} kind - Type of media for which you wish to get sender capabilities. -// * @returns {MillicastCapabilities} Object with all capabilities supported by user's browser and Millicast Media Server. -// */ -// static getCapabilities(kind: 'audio' | 'video'): MillicastCapabilities -// sessionDescription: RTCSessionDescriptionInit -// peer: RTCPeerConnection -// peerConnectionStats: PeerConnectionStats -// /** -// * Instantiate a new RTCPeerConnection. -// * @param {PeerConnectionConfig} config - Peer configuration. -// * @param {Boolean} [config.autoInitStats = true] - True to initialize statistics monitoring of the RTCPeerConnection accessed via Logger.get(), false to opt-out. -// * @param {Number} [config.statsIntervalMs = 1000] - The default interval at which the SDK will return WebRTC stats to the consuming application. -// * @param {String} [mode = "Viewer"] - Type of connection that is trying to be created, either 'Viewer' or 'Publisher'. -// */ -// createRTCPeer(config?: PeerConnectionConfig, mode: 'Publisher' | 'Viewer'): Promise -// /** -// * Get current RTC peer connection. -// * @returns {RTCPeerConnection} Object which represents the RTCPeerConnection. -// */ -// getRTCPeer(): RTCPeerConnection -// /** -// * Close RTC peer connection. -// * @fires PeerConnection#connectionStateChange -// */ -// closeRTCPeer(): Promise -// /** -// * Set SDP information to remote peer. -// * @param {String} sdp - New SDP to be set in the remote peer. -// * @returns {Promise} Promise object which resolves when SDP information was successfully set. -// */ -// setRTCRemoteSDP(sdp: string): Promise -// /** -// * Get the SDP modified depending the options. Optionally set the SDP information to local peer. -// * @param {Object} options -// * @param {Boolean} options.stereo - True to modify SDP for support stereo. Otherwise False. -// * @param {Boolean} options.dtx - True to modify SDP for supporting dtx in opus. Otherwise False. -// * @param {MediaStream|Array} options.mediaStream - MediaStream to offer in a stream. This object must have -// * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. -// * @param {VideoCodec} options.codec - Selected codec for support simulcast. -// * @param {Boolean} options.simulcast - True to modify SDP for support simulcast. **Only available in Chromium based browsers and with H.264 or VP8 video codecs.** -// * @param {String} options.scalabilityMode - Selected scalability mode. You can get the available capabilities using PeerConnection.getCapabilities method. -// * **Only available in Google Chrome.** -// * @param {Boolean} options.absCaptureTime - True to modify SDP for supporting absolute capture time header extension. Otherwise False. -// * @param {Boolean} options.dependencyDescriptor - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. -// * @param {Boolean} options.disableAudio - True to not support audio. -// * @param {Boolean} options.disableVideo - True to not support video. -// * @param {Boolean} options.setSDPToPeer - True to set the SDP to local peer. -// * @returns {Promise} Promise object which represents the SDP information of the created offer. -// */ -// getRTCLocalSDP(options?: { -// stereo: boolean -// dtx: boolean -// mediaStream: MediaStream | Array -// codec: VideoCodec -// simulcast: boolean -// scalabilityMode: string -// absCaptureTime: boolean -// dependencyDescriptor: boolean -// disableAudio: boolean -// disableVideo: boolean -// setSDPToPeer: boolean -// }): Promise - -// /** -// * Add remote receiving track. -// * @param {String} media - Media kind ('audio' | 'video'). -// * @param {Array} streams - Streams the track will belong to. -// * @return {Promise} Promise that will be resolved when the RTCRtpTransceiver is assigned an mid value. -// */ -// addRemoteTrack(media: string, streams: Array): Promise -// /** -// * Update remote SDP information to restrict bandwidth. -// * @param {String} sdp - Remote SDP. -// * @param {Number} bitrate - New bitrate value in kbps or 0 unlimited bitrate. -// * @return {String} Updated SDP information with new bandwidth restriction. -// */ -// updateBandwidthRestriction(sdp: string, bitrate: number): string -// /** -// * Set SDP information to remote peer with bandwidth restriction. -// * @param {Number} bitrate - New bitrate value in kbps or 0 unlimited bitrate. -// * @returns {Promise} Promise object which resolves when bitrate was successfully updated. -// */ -// updateBitrate(bitrate?: number): Promise -// /** -// * Get peer connection state. -// * @returns {RTCPeerConnectionState?} Promise object which represents the peer connection state. -// */ -// getRTCPeerStatus(): RTCPeerConnectionState | null -// /** -// * Replace current audio or video track that is being broadcasted. -// * @param {MediaStreamTrack} mediaStreamTrack - New audio or video track to replace the current one. -// */ -// replaceTrack(mediaStreamTrack: MediaStreamTrack): void -// /** -// * Get sender tracks -// * @returns {Array} An array with all tracks in sender peer. -// */ -// getTracks(): Array -// /** -// * Initialize the statistics monitoring of the RTCPeerConnection. -// * -// * It will be emitted every second. -// * @param autoInitStats - whether to auto initialize stats; defaults to true -// * @param statsIntervalMs - the default interval, in milliseconds, at which the SDK will report back stats -// * @fires PeerConnection#stats -// * @example peerConnection.initStats() -// * @example -// * import Publish from '@millicast/sdk' -// * -// * //Initialize and connect your Publisher -// * const millicastPublish = new Publish(streamName, tokenGenerator) -// * await millicastPublish.connect(options) -// * -// * //Initialize get stats -// * millicastPublish.webRTCPeer.initStats() -// * -// * //Capture new stats from event every second -// * millicastPublish.webRTCPeer.on('stats', (stats) => { -// * console.log('Stats from event: ', stats) -// * }) -// * @example -// * import View from '@millicast/sdk' -// * -// * //Initialize and connect your Viewer -// * const millicastView = new View(streamName, tokenGenerator) -// * await millicastView.connect() -// * -// * //Initialize get stats -// * millicastView.webRTCPeer.initStats() -// * -// * //Capture new stats from event every second -// * millicastView.webRTCPeer.on('stats', (stats) => { -// * console.log('Stats from event: ', stats) -// * }) -// */ -// initStats(options: PeerConnectionConfig): void -// /** -// * Stops the monitoring of RTCPeerConnection statistics. -// * @example peerConnection.stopStats() -// */ -// stopStats(): void -// } -// /** -// * @typedef {Object} MillicastDirectorResponse -// * @property {Array} urls - WebSocket available URLs. -// * @property {String} jwt - Access token for signaling initialization. -// * @property {Array} iceServers - Object which represents a list of Ice servers. -// */ -// /** -// * @typedef {Object} DirectorPublisherOptions -// * @property {String} token - Millicast Publishing Token. -// * @property {String} streamName - Millicast Stream Name. -// * @property {("WebRtc" | "Rtmp")} [streamType] - Millicast Stream Type. -// */ -// /** -// * @typedef {Object} DirectorSubscriberOptions -// * @property {String} streamName - Millicast publisher Stream Name. -// * @property {String} streamAccountId - Millicast Account ID. -// * @property {String} [subscriberToken] - Token to subscribe to secure streams. If you are subscribing to an unsecure stream, you can omit this param. -// * @property {Boolean} [isDRMEnabled] - if DRM is enabled, default is false -// */ -// /** -// * Simplify API calls to find the best server and region to publish and subscribe to. -// * For security reasons all calls will return a [JWT](https://jwt.io) token for authentication including the required -// * socket path to connect with. -// * -// * You will need your own Publishing token and Stream name, please refer to [Managing Your Tokens](https://docs.dolby.io/streaming-apis/docs/managing-your-tokens). -// * @namespace -// */ -// export class Director { -// /** -// * Set Director API endpoint where requests will be sent. -// * -// * @param {String} url - New Director API endpoint -// */ -// static setEndpoint(url: string): void -// /** -// * Get current Director API endpoint where requests will be sent. -// * -// * By default, https://director.millicast.com is the current API endpoint. -// * @returns {String} API base url -// */ -// static getEndpoint(): string -// /** -// * Set Websocket Live domain from Director API response. -// * If it is set to empty, it will not parse the response. -// * -// * @param {String} domain - New Websocket Live domain -// */ -// static setLiveDomain(domain: string): void -// /** -// * Get current Websocket Live domain. -// * -// * By default is empty which corresponds to not parse the Director response. -// * @returns {String} Websocket Live domain -// */ -// static getLiveDomain(): string -// /** -// * Get publisher connection data. -// * @param {DirectorPublisherOptions} options - Millicast options. -// * @returns {Promise} Promise object which represents the result of getting the publishing connection path. -// * @example const response = await Director.getPublisher(options) -// * @example -// * import { Publish, Director } from '@millicast/sdk' -// * -// * //Define getPublisher as callback for Publish -// * const streamName = "My Millicast Stream Name" -// * const token = "My Millicast publishing token" -// * const tokenGenerator = () => Director.getPublisher({token, streamName}) -// * -// * //Create a new instance -// * const millicastPublish = new Publish(streamName, tokenGenerator) -// * -// * //Get MediaStream -// * const mediaStream = getYourMediaStreamImplementation() -// * -// * //Options -// * const broadcastOptions = { -// * mediaStream: mediaStream -// * } -// * -// * //Start broadcast -// * await millicastPublish.connect(broadcastOptions) -// */ -// static getPublisher( -// options: DirectorPublisherOptions | string, -// streamName?: string, -// streamType?: 'WebRtc' | 'Rtmp' -// ): Promise -// /** -// * Get subscriber connection data. -// * @param {DirectorSubscriberOptions | String} options - Millicast options. -// * @returns {Promise} Promise object which represents the result of getting the subscribe connection data. -// * @example const response = await Director.getSubscriber(options) -// * @example -// * import { View, Director } from '@millicast/sdk' -// * -// * //Define getSubscriber as callback for Subscribe -// * const streamName = "My Millicast Stream Name" -// * const accountId = "Millicast Publisher account Id" -// * const options: DirectorSubscriberOptions = { streamName, streamAccountId } -// * const tokenGenerator = () => Director.getSubscriber(options) -// * //... or for an secure stream -// * const options: DirectorSubscriberOptions = {streamName, accountId, subscriberToken: '176949b9e57de248d37edcff1689a84a047370ddc3f0dd960939ad1021e0b744'} -// * const tokenGenerator = () => Director.getSubscriber(options) -// * -// * //Create a new instance -// * const millicastView = new View(streamName, tokenGenerator) -// * -// * //Set track event handler to receive streams from Publisher. -// * millicastView.on('track', (event) => { -// * addStreamToYourVideoTag(event.streams[0]) -// * }) -// * -// * //View Options -// * const options = { -// * } -// * -// * //Start connection to broadcast -// * await millicastView.connect(options) -// */ -// static getSubscriber( -// options: DirectorSubscriberOptions | string, -// isDRMEnabled?: boolean -// ): Promise -// } - -// /** -// * DRM options in Director API response -// */ -// export type DRMObject = { -// /** -// * PlayReady license server URL. -// */ -// playReadyUrl?: string - -// /** -// * widevine license server URL. -// */ -// widevineUrl?: string - -// /** -// * fairPlay license server URL. -// */ -// fairPlayUrl?: string - -// /** -// * fairPlay certificate server URL. -// */ -// fairPlayCertUrl?: string -// } - -// export type MillicastDirectorResponse = { -// /** -// * - WebSocket available URLs. -// */ -// urls: Array -// /** -// * - Access token for signaling initialization. -// */ -// jwt: string -// /** -// * - Object which represents a list of Ice servers. -// */ -// iceServers: Array - -// /** -// * DRM options -// */ -// drmObject?: DRMObject -// } - -// export type DirectorPublisherOptions = { -// /** -// * - Millicast Publishing Token. -// */ -// token: string -// /** -// * - Millicast Stream Name. -// */ -// streamName: string -// /** -// * - Millicast Stream Type. -// */ -// streamType?: 'WebRtc' | 'Rtmp' -// } -// export type DirectorSubscriberOptions = { -// /** -// * - Millicast publisher Stream Name. -// */ -// streamName: string -// /** -// * - Millicast Account ID. -// */ -// streamAccountId: string -// /** -// * - Token to subscribe to secure streams. If you are subscribing to an unsecure stream, you can omit this param. -// */ -// subscriberToken?: string -// } -// export type Event = -// | 'active' -// | 'inactive' -// | 'stopped' -// | 'vad' -// | 'layers' -// | 'migrate' -// | 'viewercount' -// | 'updated' -// | 'error' - -// export type ViewConnectOptions = { -// /** -// * - True to modify SDP for supporting dtx in opus. Otherwise False. -// */ -// dtx?: boolean -// /** -// * - True to modify SDP for supporting absolute capture time header extension. Otherwise False. -// */ -// absCaptureTime?: boolean -// /** -// * - Enable metadata extraction. This feature is only supported with the H.264 codec. -// */ -// metadata?: boolean -// /** -// * - Disable the opportunity to receive video stream. -// */ -// disableVideo?: boolean -// /** -// * - Disable the opportunity to receive audio stream. -// */ -// disableAudio?: boolean -// /** -// * - Number of audio tracks to recieve VAD multiplexed audio for secondary sources. -// */ -// multiplexedAudioTracks?: number -// /** -// * - Id of the main source that will be received by the default MediaStream. -// */ -// pinnedSourceId?: string -// /** -// * - Do not receive media from the these source ids. -// */ -// excludedSourceIds?: Array -// /** -// * - Override which events will be delivered by the server (any of "active" | "inactive" | "vad" | "layers" | "viewercount" | "updated").* -// */ -// events?: Array -// /** -// * - Options to configure the new RTCPeerConnection. -// */ -// peerConfig?: RTCConfiguration -// /** -// * - Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. -// */ -// layer?: { -// /** -// * - rid value of the simulcast encoding of the track (default: automatic selection) -// */ -// encodingId: string -// /** -// * - The spatial layer id to send to the outgoing stream (default: max layer available) -// */ -// spatialLayerId: number -// /** -// * - The temporaral layer id to send to the outgoing stream (default: max layer available) -// */ -// temporalLayerId: number -// /** -// * - Max spatial layer id (default: unlimited) -// */ -// maxSpatialLayerId: number -// /** -// * - Max temporal layer id (default: unlimited) -// */ -// maxTemporalLayerId: number -// } -// } - -// export type PublishConnectOptions = { -// /** -// * - Source unique id. Only avialable if stream is multisource. -// */ -// sourceId?: string -// /** -// * - True to modify SDP for support stereo. Otherwise False. -// */ -// stereo?: boolean -// /** -// * - True to modify SDP for supporting dtx in opus. Otherwise False. -// */ -// dtx?: boolean -// /** -// * - True to modify SDP for supporting absolute capture time header extension. Otherwise False. -// */ -// absCaptureTime?: boolean -// /** -// * - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. -// */ -// dependencyDescriptor?: boolean -// /** -// * - MediaStream to offer in a stream. This object must have -// * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. -// */ -// mediaStream: MediaStream | Array -// /** -// * - Broadcast bandwidth. 0 for unlimited. -// */ -// bandwidth?: number -// /** -// * - Enable metadata insertion. This feature is only supported with the H.264 codec. -// */ -// metadata?: boolean -// /** -// * - Disable the opportunity to send video stream. -// */ -// disableVideo?: boolean -// /** -// * - Disable the opportunity to send audio stream. -// */ -// disableAudio?: boolean -// /** -// * - Codec for publish stream. -// */ -// codec?: VideoCodec -// /** -// * - Enable simulcast. **Only available in Chromium based browsers with either the H.264 or VP8 video codec.** -// */ -// simulcast?: boolean -// /** -// * - Selected scalability mode. You can get the available capabilities using PeerConnection.getCapabilities method. -// * **Only available in Google Chrome.** -// */ -// scalabilityMode?: string -// /** -// * - Options to configure the new RTCPeerConnection. -// */ -// peerConfig?: PeerConnectionConfig -// /** -// * - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** -// */ -// record?: boolean -// /** -// * - Specify which events will be delivered by the server (any of "active" | "inactive" | "viewercount").* -// */ -// events?: Array -// /** -// * - When multiple ingest streams are provided by the customer, add the ability to specify a priority between all ingest streams. Decimal integer between the range [-2^31, +2^31 - 1]. For more information, visit [our documentation](https://docs.dolby.io/streaming-apis/docs/backup-publishing). -// */ -// priority?: number -// } - -// export interface PeerConnectionConfig extends RTCConfiguration { -// /** -// * - whether stats collection should be auto initialized. Defaults to `true` -// */ -// autoInitStats: boolean - -// /** -// * The interval, in milliseconds, at which we poll stats. Defaults to 1s (1000ms) -// */ -// statsIntervalMs: number -// } - -// export type ViewProjectSourceMapping = { -// /** -// * - Track id from the source (received on the "active" event), if not set the media kind will be used instead. -// */ -// trackId?: string -// /** -// * - mid value of the rtp receiver in which the media is going to be projected. If no mediaId is defined, the first track from the main media stream with the same media type as the input source track will be used. -// */ -// mediaId?: string -// /** -// * - Track kind of the source ('audio' | 'video'), if not set the trackId will be used instead. -// */ -// media?: 'audio' | 'video' -// /** -// * - Select the simulcast encoding layer and svc layers, only applicable to video tracks. -// */ -// layer?: LayerInfo -// } - -// export type TokenGeneratorCallback = () => Promise -// class BaseWebRTC extends events.EventEmitter { -// constructor( -// streamName: string, -// tokenGenerator: TokenGeneratorCallback, -// loggerInstance: Logger | any, -// autoReconnect?: boolean -// ) -// webRTCPeer?: PeerConnection -// signaling: Signaling -// streamName: string -// autoReconnect: boolean | undefined -// reconnectionInterval: number -// alreadyDisconnected: boolean -// firstReconnection: boolean -// stopReconnection: boolean -// tokenGenerator: TokenGeneratorCallback -// options: ViewConnectOptions | PublishConnectOptions -// /** -// * Get current RTC peer connection. -// * @returns {RTCPeerConnection} Object which represents the RTCPeerConnection. -// */ -// getRTCPeerConnection(): RTCPeerConnection -// /** -// * Stops connection. -// */ -// stop(): void -// /** -// * Get if the current connection is active. -// * @returns {Boolean} - True if connected, false if not. -// */ -// isActive(): boolean -// /** -// * Sets reconnection if autoReconnect is enabled. -// */ -// setReconnect(): void -// /** -// * Reconnects to last broadcast. -// * @fires BaseWebRTC#reconnect -// */ -// reconnect(): Promise -// } -// /** -// * @class Publish -// * @extends BaseWebRTC -// * @classdesc Manages connection with a secure WebSocket path to signal the Millicast server -// * and establishes a WebRTC connection to broadcast a MediaStream. -// * -// * Before you can broadcast, you will need: -// * -// * - [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API) which has at most one audio track and at most one video track. This will be used for stream the contained tracks. -// * -// * - A connection path that you can get from {@link Director} module or from your own implementation. -// * @constructor -// * @param {TokenGeneratorCallback} tokenGenerator - Callback function executed when a new token is needed. -// * @param {Boolean} [autoReconnect=true] - Enable auto reconnect to stream. -// */ -// export class Publish extends BaseWebRTC { -// constructor(streamName: any, tokenGenerator: any, autoReconnect?: boolean) -// /** -// * Starts broadcast to an existing stream name. -// * -// * In the example, `getYourMediaStream` and `getYourPublisherConnection` is your own implementation. -// * @param {PublishConnectOptions} options - General broadcast options. -// * @returns {Promise} Promise object which resolves when the broadcast started successfully. -// * @fires PeerConnection#connectionStateChange -// * @fires Signaling#broadcastEvent -// * @example await publish.connect(options) -// * @example -// * import Publish from '@millicast/sdk' -// * -// * //Define callback for generate new token -// * const tokenGenerator = () => getYourPublisherInformation(token, streamName) -// * -// * //Create a new instance -// * const streamName = "My Millicast Stream Name" -// * const millicastPublish = new Publish(streamName, tokenGenerator) -// * -// * //Get MediaStream -// * const mediaStream = getYourMediaStream() -// * -// * //Options -// * const broadcastOptions = { -// * mediaStream: mediaStream -// * } -// * -// * //Start broadcast -// * try { -// * await millicastPublish.connect(broadcastOptions) -// * } catch (e) { -// * console.log('Connection failed, handle error', e) -// * } -// */ -// connect(options?: PublishConnectOptions): Promise -// /** -// * Initialize recording in an active stream and change the current record option. -// */ -// record(): Promise -// /** -// * Finalize recording in an active stream and change the current record option. -// */ -// unrecord(): Promise -// /** -// * Send SEI user unregistered data as part of the frame being streamed. Only available for H.264 codecs. -// * @param {String | Object} message The data to be sent as SEI user unregistered data. -// * @param {String} [uuid="d40e38ea-d419-4c62-94ed-20ac37b4e4fa"] String with UUID format as hex digit (XXXX-XX-XX-XX-XXXXXX). -// */ -// sendMetadata(message: string | Object, uuid: string): void -// webRTCPeer?: PeerConnection -// } - -// /** -// * DRM encryption parameters -// */ -// export type EncryptionParameters = { -// /** 16-byte KeyID, in lowercase hexadecimal without separators */ -// keyId: string - -// /** 16-byte initialization vector, in lowercase hexadecimal without separators */ -// iv: string -// } - -// /** -// * The configuration for DRM playback -// */ -// export type DRMOptions = { -// /** The video element */ -// videoElement: HTMLVideoElement - -// /** The video encryption parameters */ -// videoEncryptionParams: EncryptionParameters - -// /** The video media ID of RTCRtpTransceiver */ -// videoMid: string - -// /** The audio element */ -// audioElement: HTMLAudioElement - -// /** The audio encryption parameters */ -// audioEncryptionParams?: EncryptionParameters - -// /** The audio media ID of RTCRtpTransceiver */ -// audioMid?: string - -// /** The average target latency, it can be set to 0, -// * enabling zero-buffering mode (which is not recommended as it affects video playback smoothness). -// * The default value is 100 ms, except when PlayReady or Widevine L1 on Windows are used - those -// * require at least 600 ms buffer for SW-secure decryption/playback and 1200 ms for HW-secure one */ -// mediaBufferMs?: number -// } - -// /** -// * @class View -// * @extends BaseWebRTC -// * @classdesc Manages connection with a secure WebSocket path to signal the Millicast server -// * and establishes a WebRTC connection to view a live stream. -// * -// * Before you can view an active broadcast, you will need: -// * -// * - A connection path that you can get from {@link Director} module or from your own implementation. -// * @constructor -// * @param {TokenGeneratorCallback} tokenGenerator - Callback function executed when a new token is needed. -// * @param {HTMLMediaElement} [mediaElement=null] - Target HTML media element to mount stream. -// * @param {Boolean} [autoReconnect=true] - Enable auto reconnect to stream. -// */ -// export class View extends BaseWebRTC { -// constructor( -// streamName: string, -// tokenGenerator: TokenGeneratorCallback, -// autoReconnect?: boolean -// ) -// /** -// * @typedef {Object} LayerInfo -// * @property {String} encodingId - rid value of the simulcast encoding of the track (default: automatic selection) -// * @property {Number} spatialLayerId - The spatial layer id to send to the outgoing stream (default: max layer available) -// * @property {Number} temporalLayerId - The temporaral layer id to send to the outgoing stream (default: max layer available) -// * @property {Number} maxSpatialLayerId - Max spatial layer id (default: unlimited) -// * @property {Number} maxTemporalLayerId - Max temporal layer id (default: unlimited) -// */ -// /** -// * Connects to an active stream as subscriber. -// * -// * In the example, `addStreamToYourVideoTag` and `getYourSubscriberConnectionPath` is your own implementation. -// * @param {ViewConnectOptions} [options] - General subscriber options. -// * @returns {Promise} Promise object which resolves when the connection was successfully established. -// * @fires PeerConnection#track -// * @fires Signaling#broadcastEvent -// * @fires PeerConnection#connectionStateChange -// * @example await millicastView.connect(options) -// * @example -// * import View from '@millicast/sdk' -// * -// * // Create media element -// * const videoElement = document.createElement("video") -// * -// * //Define callback for generate new token -// * const tokenGenerator = () => getYourSubscriberInformation(accountId, streamName) -// * -// * //Create a new instance -// * const millicastView = new View(tokenGenerator, videoElement) -// * -// * //Start connection to broadcast -// * try { -// * await millicastView.connect() -// * } catch (e) { -// * console.log('Connection failed, handle error', e) -// * } -// * @example -// * import View from '@millicast/sdk' -// * -// * //Define callback for generate new token -// * const tokenGenerator = () => getYourSubscriberInformation(accountId, streamName) -// * -// * //Create a new instance -// * const millicastView = new View(tokenGenerator) -// * -// * //Set track event handler to receive streams from Publisher. -// * millicastView.on('track', (event) => { -// * addStreamToYourVideoTag(event.streams[0]) -// * }) -// * -// * //Start connection to broadcast -// * try { -// * await millicastView.connect() -// * } catch (e) { -// * console.log('Connection failed, handle error', e) -// * } -// */ -// connect(options?: ViewConnectOptions): Promise -// /** -// * Select the simulcast encoding layer and svc layers for the main video track -// * @param {LayerInfo} layer - leave empty for automatic layer selection based on bandwidth estimation. -// */ -// select(layer?: LayerInfo): Promise -// /** -// * Add remote receiving track. -// * @param {String} media - Media kind ('audio' | 'video'). -// * @param {Array} streams - Streams the track will belong to. -// * @return {Promise} Promise that will be resolved when the RTCRtpTransceiver is assigned an mid value. -// */ -// addRemoteTrack(media: 'audio' | 'video', streams: Array): Promise -// /** -// * Start projecting source in selected media ids. -// * @param {String} sourceId - Selected source id. -// * @param {Array} mapping - Mapping of the source track ids to the receiver mids -// * @param {String} [mapping.trackId] - Track id from the source (received on the "active" event), if not set the media kind will be used instead. -// * @param {String} [mapping.media] - Track kind of the source ('audio' | 'video'), if not set the trackId will be used instead. -// * @param {String} [mapping.mediaId] - mid value of the rtp receiver in which the media is going to be projected. If no mediaId is defined, the first track from the main media stream with the same media type as the input source track will be used. -// * @param {LayerInfo} [mapping.layer] - Select the simulcast encoding layer and svc layers, only applicable to video tracks. -// */ -// project(sourceId: string, mapping: ViewProjectSourceMapping[]): Promise -// /** -// * Stop projecting attached source in selected media ids. -// * @param {Array} mediaIds - mid value of the receivers that are going to be detached. -// */ -// unproject(mediaIds: Array): Promise - -// /** -// * Configure DRM protected stream. -// * When there are {@link EncryptionParameters} in the payload of 'active' broadcast event, this method should be called -// */ -// configureDRM(options: DRMOptions): void -// -// /** -// * Remove DRM configuration for a mediaId -// */ -// removeDRMConfiguration(mediaId: string): void - -// /** -// * Check if there are any DRM protected Track -// */ -// get isDRMOn(): boolean - -// /** Exchange the DRM configuration between two transceivers -// * Make sure both of the transceivers have been used for DRM protected streams -// */ -// exchangeDRMConfiguration(targetMediaId: string, sourceMediaId: string): void - -// replaceConnection(): Promise -// webRTCPeer?: PeerConnection -// } -// } diff --git a/packages/millicast-sdk/src/types/others.ts b/packages/millicast-sdk/src/types/others.ts new file mode 100644 index 00000000..933eb032 --- /dev/null +++ b/packages/millicast-sdk/src/types/others.ts @@ -0,0 +1,6 @@ + +export type MediaTrackInfo = { + trackId: string; + media: 'audio' | 'video'; + } + \ No newline at end of file diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 9761f748..582c1746 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -1,69 +1,64 @@ -import EventEmitter from 'events' -import PeerConnection, { webRTCEvents } from '../PeerConnection' -import Signaling, { signalingEvents } from '../Signaling' +import Logger from '../Logger' +import PeerConnection from '../PeerConnection' +import Signaling from '../Signaling' import Diagnostics from './Diagnostics' import { TokenGeneratorCallback } from '../types/Director.types' import { ILogger } from 'js-logger' import { ReconnectData } from '../types/BaseWebRTC.types' -import { PublishConnectOptions } from '../types/Publish.types' -import { ViewConnectOptions } from '../types/View.types' -let logger: ILogger +import { PublishConnectOptions } from '../types/Publisher.types' +import { ViewerConnectOptions } from '../types/Viewer.types' +import { BaseWebRTCEvents } from '../types/events'; +import { TypedEventEmitter } from './TypedEventEmitter' + const maxReconnectionInterval = 32000 const baseInterval = 1000 -/** - * @typedef {Object} MillicastDirectorResponse - * @property {Array} urls - WebSocket available URLs. - * @property {String} jwt - Access token for signaling initialization. - * @property {Array} iceServers - Object which represents a list of Ice servers. - */ - -/** - * Callback invoke when a new connection path is needed. - * - * @callback tokenGeneratorCallback - * @returns {Promise} Promise object which represents the result of getting the new connection path. - * - * You can use your own token generator or use the Director available methods. - */ +const nextReconnectInterval = (interval: number) => { + return interval < maxReconnectionInterval ? interval * 2 : interval +} /** - * @class BaseWebRTC - * @extends EventEmitter - * @classdesc Base class for common actions about peer connection and reconnect mechanism for Publishers and Viewer instances. - * - * @constructor - * @param {tokenGeneratorCallback} tokenGenerator - Callback function executed when a new token is needed. - * @param {Object} loggerInstance - Logger instance from the extended classes. - * @param {Boolean} autoReconnect - Enable auto reconnect. + * Base class for common actions about peer connection and reconnect mechanism for Publisher and Viewer instances. */ -export default class BaseWebRTC extends EventEmitter { +export class BaseWebRTC extends TypedEventEmitter { protected webRTCPeer: PeerConnection protected signaling: Signaling | null protected autoReconnect: boolean - private reconnectionInterval: number + #reconnectionInterval: number private alreadyDisconnected: boolean private firstReconnection: boolean protected stopReconnection: boolean - private isReconnecting: boolean + #isReconnecting: boolean protected tokenGenerator: TokenGeneratorCallback - protected options: ViewConnectOptions | PublishConnectOptions | null + protected options: ViewerConnectOptions | PublishConnectOptions | null + protected logger: ILogger; + /** + * Creates a BaseWebRTC object. + * + * @param tokenGenerator Callback function executed when a new token is needed. + * @param loggerInstance Logger instance from the extended classes. + * @param autoReconnect Enable auto reconnect. + */ constructor(tokenGenerator: TokenGeneratorCallback, loggerInstance: ILogger, autoReconnect: boolean) { super() - logger = loggerInstance + + this.logger = loggerInstance ?? Logger.get('BaseWebRTC'); + this.logger.setLevel(Logger.DEBUG); + if (!tokenGenerator) { - logger.error('Token generator is required to construct this module.') + this.logger.error('Token generator is required to construct this module.') throw new Error('Token generator is required to construct this module.') } + this.webRTCPeer = new PeerConnection() this.signaling = null this.autoReconnect = autoReconnect - this.reconnectionInterval = baseInterval + this.#reconnectionInterval = baseInterval this.alreadyDisconnected = false this.firstReconnection = true this.stopReconnection = false - this.isReconnecting = false + this.#isReconnecting = false this.tokenGenerator = tokenGenerator this.options = null } @@ -80,7 +75,7 @@ export default class BaseWebRTC extends EventEmitter { * Stops connection. */ stop() { - logger.info('Stopping') + this.logger.info('Stopping') this.webRTCPeer.closeRTCPeer() this.signaling?.close() this.signaling = null @@ -94,24 +89,25 @@ export default class BaseWebRTC extends EventEmitter { */ isActive(): boolean { const rtcPeerState = this.webRTCPeer.getRTCPeerStatus() - logger.info('Broadcast status: ', rtcPeerState || 'not_established') + this.logger.info('Broadcast status:', rtcPeerState || 'not_established') return rtcPeerState === 'connected' } /** * Sets reconnection if autoReconnect is enabled. + * @ignore */ setReconnect() { this.signaling?.on('migrate', () => this.replaceConnection()) if (this.autoReconnect) { - this.signaling?.on(signalingEvents.connectionError, () => { + this.signaling?.on('wsConnectionError', () => { if (this.firstReconnection || !this.alreadyDisconnected) { this.firstReconnection = false this.reconnect({ error: new Error('Signaling error: wsConnectionError') }) } }) - this.webRTCPeer.on(webRTCEvents.connectionStateChange, (state) => { + this.webRTCPeer.on('connectionStateChange', (state: string) => { Diagnostics.setConnectionState(state) if (state === 'connected') { Diagnostics.setConnectionTime(new Date().getTime()) @@ -146,37 +142,30 @@ export default class BaseWebRTC extends EventEmitter { */ async reconnect(data?: ReconnectData) { try { - logger.info('Attempting to reconnect...') - if (!this.isActive() && !this.stopReconnection && !this.isReconnecting) { - this.stop() - /** - * Emits with every reconnection attempt made when an active stream - * stopped unexpectedly. - * - * @event BaseWebRTC#reconnect - * @type {Object} - * @property {Number} timeout - Next retry interval in milliseconds. - * @property {Error} error - Error object with cause of failure. Possible errors are:
  • Signaling error: wsConnectionError if there was an error in the Websocket connection.
  • Connection state change: RTCPeerConnectionState disconnected if there was an error in the RTCPeerConnection.
  • Attempting to reconnect if the reconnect was trigered externally.
  • Or any internal error thrown by either Publish.connect or View.connect methods
- */ - this.emit('reconnect', { - timeout: nextReconnectInterval(this.reconnectionInterval), + this.logger.info('Attempting to reconnect...') + if (!this.isActive() && !this.stopReconnection && !this.#isReconnecting) { + this.stop(); + + (this as BaseWebRTC).emit('reconnect', { + timeout: nextReconnectInterval(this.#reconnectionInterval), error: data?.error ? data?.error : new Error('Attempting to reconnect'), }) - this.isReconnecting = true + this.#isReconnecting = true await this.connect(this.options) this.alreadyDisconnected = false - this.reconnectionInterval = baseInterval + this.#reconnectionInterval = baseInterval this.firstReconnection = true - this.isReconnecting = false + this.#isReconnecting = false } } catch (error) { - this.isReconnecting = false - this.reconnectionInterval = nextReconnectInterval(this.reconnectionInterval) - logger.error(`Reconnection failed, retrying in ${this.reconnectionInterval}ms. `, error) - setTimeout(() => this.reconnect({ error: error as Error }), this.reconnectionInterval) + this.#isReconnecting = false + this.#reconnectionInterval = nextReconnectInterval(this.#reconnectionInterval) + this.logger.error(`Reconnection failed, retrying in ${this.#reconnectionInterval}ms. `, error) + setTimeout(() => this.reconnect({ error: error as Error }), this.#reconnectionInterval) } } + /** @ignore */ async replaceConnection() { /* tslint:disable:no-empty */ } @@ -185,7 +174,3 @@ export default class BaseWebRTC extends EventEmitter { /* tslint:disable:no-empty */ } } - -const nextReconnectInterval = (interval: number) => { - return interval < maxReconnectionInterval ? interval * 2 : interval -} diff --git a/packages/millicast-sdk/src/utils/Codecs.ts b/packages/millicast-sdk/src/utils/Codecs.ts index 30d58f13..503304ed 100644 --- a/packages/millicast-sdk/src/utils/Codecs.ts +++ b/packages/millicast-sdk/src/utils/Codecs.ts @@ -3,8 +3,8 @@ import { AudioCodec, PictureParameterSet, SequenceParameterSet, VUIParameters } from '../types/Codecs.types' import BitStreamReader from './BitStreamReader' import { VideoCodec } from '../types/Codecs.types' -import { SEIUserUnregisteredData } from '../types/View.types' import { TransformWorkerSeiMetadata } from '../types/TransformWorker.types' +import { SEIUserUnregisteredData } from '../types/events' const NALUType = { SLICE_NON_IDR: 1, diff --git a/packages/millicast-sdk/src/utils/TypedEventEmitter.ts b/packages/millicast-sdk/src/utils/TypedEventEmitter.ts new file mode 100644 index 00000000..53142bc7 --- /dev/null +++ b/packages/millicast-sdk/src/utils/TypedEventEmitter.ts @@ -0,0 +1,23 @@ +import EventEmitter from 'events' + +export interface EmittedEvents extends Record any> { +} + +export interface TypedEventEmitter { + /** + * Adds the `listener` function to the end of the listeners array for the + * event named `eventName`. No checks are made to see if the `listener` has + * already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple + * times. + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @param eventName The name of the event. + * @param listener The callback function. + */ + on(eventName: N, listener: TEvents[N]): this; + + /** @hidden */ + emit(eventName: N, ...args: Parameters): boolean; +} + +export class TypedEventEmitter extends EventEmitter {}; diff --git a/packages/millicast-sdk/src/utils/Validators.ts b/packages/millicast-sdk/src/utils/Validators.ts index 9549d330..52756e89 100644 --- a/packages/millicast-sdk/src/utils/Validators.ts +++ b/packages/millicast-sdk/src/utils/Validators.ts @@ -1,5 +1,5 @@ import { VideoCodec } from '../types/Codecs.types' -import { PublishConnectOptions } from '../types/Publish.types' +import { PublishConnectOptions } from '../types/Publisher.types' class ValidationError extends Error { messages: string[] @@ -11,6 +11,8 @@ class ValidationError extends Error { } } +export const isNotDefined = (value: string | null | undefined) => !value || !value.length; + const isString = (value: unknown) => typeof value === 'string' const isNumber = (value: unknown) => typeof value === 'number' diff --git a/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js b/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js index 0bd0c12e..b48fb5da 100644 --- a/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js +++ b/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js @@ -61,11 +61,11 @@ defineFeature(feature, (test) => { when('I broadcast a stream and connect to stream as viewer', async () => { await broadcastPage.evaluate( async ({ options, publishToken, streamName }) => - await startPublisher(publishToken, streamName, options), + startPublisher(publishToken, streamName, options), { options, publishToken, streamName } ) await viewerPage.evaluate( - async ({ streamName, accountId }) => await startViewer(streamName, accountId), + async ({ streamName, accountId }) => startViewer(streamName, accountId), { streamName, accountId } ) diff --git a/packages/millicast-sdk/tests/e2e/PublishTest.js b/packages/millicast-sdk/tests/e2e/PublishTest.js index 2096004f..7adf615a 100644 --- a/packages/millicast-sdk/tests/e2e/PublishTest.js +++ b/packages/millicast-sdk/tests/e2e/PublishTest.js @@ -1,16 +1,15 @@ const millicast = window.millicast const accountId = window.accountId const streamName = window.streamName -const token = window.token - -const options = { token, streamName } -const tokenGenerator = () => millicast.Director.getPublisher(options) +const publishToken = window.token class MillicastPublishTest { constructor() { - millicast.Logger.setLevel(millicast.Logger.DEBUG) - millicast.Director.setEndpoint(window.directorEndpoint) - this.millicastPublish = new millicast.Publish(streamName, tokenGenerator) + millicast.Logger.setLevel(millicast.Logger.DEBUG); + millicast.Director.endpoint = window.directorEndpoint; + + const options = { publishToken, streamName }; + this.millicastPublish = new millicast.Publisher(options); } async init() { @@ -83,13 +82,9 @@ class MillicastPublishTest { absCaptureTime: true, events: ['active', 'inactive', 'viewercount'], } - this.millicastPublish.on('broadcastEvent', (data) => { - console.log('Broadcast Event: ', data) - // Getting User Count from broadcastEvent. - if (data.name === 'viewercount') { - document.getElementById('broadcast-viewers').innerHTML = `Viewers: ${data.count}` - } - }) + this.millicastPublish.on('viewercount', (count) => { + document.getElementById('broadcast-viewers').innerHTML = `Viewers: ${count}` + }); this.millicastPublish.on('connectionStateChange', (state) => { if (state === 'connected') { const viewLink = `http://localhost:10002/?streamAccountId=${accountId}&streamId=${streamName}` diff --git a/packages/millicast-sdk/tests/e2e/PuppeteerJest.html b/packages/millicast-sdk/tests/e2e/PuppeteerJest.html index 5a98eccf..0f81dd9c 100644 --- a/packages/millicast-sdk/tests/e2e/PuppeteerJest.html +++ b/packages/millicast-sdk/tests/e2e/PuppeteerJest.html @@ -6,9 +6,7 @@ const startPublisher = async (publishToken, streamName, options) => { const millicast = window.millicast millicast.Logger.setLevel(millicast.Logger.DEBUG) - const publishOptions = { token: publishToken, streamName, ...options } - const tokenGenerator = () => millicast.Director.getPublisher(publishOptions) - const publish = new millicast.Publish(tokenGenerator) + const publish = new millicast.Publisher({publishToken, streamName, ...options}) const mediaStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }) document.getElementById('my-video').srcObject = mediaStream await publish.connect({ @@ -24,8 +22,7 @@ const video = document.getElementById('my-video') millicast.Logger.setLevel(millicast.Logger.DEBUG) const options = { streamName, streamAccountId: accountId } - const tokenGenerator = () => millicast.Director.getSubscriber(options) - const view = new millicast.View(tokenGenerator) + const view = new millicast.Viewer(options) video.addEventListener('timeupdate', () => { if (video.currentTime > 1) { resolve() diff --git a/packages/millicast-sdk/tests/e2e/ViewTest.js b/packages/millicast-sdk/tests/e2e/ViewTest.js index 88255772..0081109a 100644 --- a/packages/millicast-sdk/tests/e2e/ViewTest.js +++ b/packages/millicast-sdk/tests/e2e/ViewTest.js @@ -6,7 +6,7 @@ const streamName = window.streamName class MillicastViewTest { constructor() { millicast.Logger.setLevel(millicast.Logger.DEBUG) - millicast.Director.setEndpoint(window.directorEndpoint) + millicast.Director.endpoint = window.directorEndpoint const href = new URL(window.location.href) this.streamAccountId = href.searchParams.get('streamAccountId') ? href.searchParams.get('streamAccountId') @@ -15,9 +15,7 @@ class MillicastViewTest { this.playing = false this.disableVideo = false this.disableAudio = false - const options = { streamName: this.streamName, streamAccountId: this.streamAccountId } - const tokenGenerator = () => millicast.Director.getSubscriber(options) - this.millicastView = new millicast.View(this.streamName, tokenGenerator) + this.millicastView = new millicast.Viewer({streamName: this.streamName, streamAccountId: this.streamAccountId}) this.tracks = [] } diff --git a/packages/millicast-sdk/tests/features/LoggerDiagnose.feature b/packages/millicast-sdk/tests/features/LoggerDiagnose.feature index 29f08bd4..54b228c2 100644 --- a/packages/millicast-sdk/tests/features/LoggerDiagnose.feature +++ b/packages/millicast-sdk/tests/features/LoggerDiagnose.feature @@ -14,6 +14,11 @@ Feature: As a user I want to get relevant information of the connection to the s Given connection to a stream and stats enabled When I call Logger diagnose function Then console logs an information object with stats attribute not empty + + Scenario: Get information in another browser + Given I am in Firefox and start a connection to a stream + When I call Logger diagnose function + Then console logs an information object with Firefox's userAgent Scenario: Get information while publishing a stream Given a stream being published @@ -24,8 +29,3 @@ Feature: As a user I want to get relevant information of the connection to the s Given a stream cannot be published When I call Logger diagnose function Then console logs an information object - - Scenario: Get information in another browser - Given I am in Firefox and start a connection to a stream - When I call Logger diagnose function - Then console logs an information object with Firefox's userAgent diff --git a/packages/millicast-sdk/tests/features/ManageSignaling.feature b/packages/millicast-sdk/tests/features/ManageSignaling.feature index 029bcb8a..d6c33f8b 100644 --- a/packages/millicast-sdk/tests/features/ManageSignaling.feature +++ b/packages/millicast-sdk/tests/features/ManageSignaling.feature @@ -15,10 +15,45 @@ Feature: As a developer I want to manage signaling to Millicast Server so I can When I want to connect to no responding server Then fires a connectionError event - Scenario: Receive broadcast events from server + Scenario: Receive active event from server Given I am connected to server - When the server send a broadcast event - Then fires a broadcastEvent event + When the server send an active event + Then fires an active event + + Scenario: Receive inactive event from server + Given I am connected to server + When the server send an inactive event + Then fires an inactive event + + Scenario: Receive viewercount event from server + Given I am connected to server + When the server send an viewercount event + Then fires an viewercount event + + Scenario: Receive migrate event from server + Given I am connected to server + When the server send an migrate event + Then fires an migrate event + + Scenario: Receive updated event from server + Given I am connected to server + When the server send an updated event + Then fires an updated event + + Scenario: Receive stopped event from server + Given I am connected to server + When the server send an stopped event + Then fires an stopped event + + Scenario: Receive vad event from server + Given I am connected to server + When the server send an vad event + Then fires an vad event + + Scenario: Receive layers event from server + Given I am connected to server + When the server send an layers event + Then fires an layers event Scenario: Close existing server connection Given I am connected to server diff --git a/packages/millicast-sdk/tests/features/Publish.feature b/packages/millicast-sdk/tests/features/Publisher.feature similarity index 88% rename from packages/millicast-sdk/tests/features/Publish.feature rename to packages/millicast-sdk/tests/features/Publisher.feature index 24d8059b..d66bb12a 100644 --- a/packages/millicast-sdk/tests/features/Publish.feature +++ b/packages/millicast-sdk/tests/features/Publisher.feature @@ -1,8 +1,13 @@ Feature: As a user I want to publish a stream without managing connections - Scenario: Instance publisher without tokenGenerator - Given no token generator - When I instance a Publish + Scenario: Instance publisher without stream name + Given nothing + When I instance a Publisher + Then throws an error + + Scenario: Instance publisher without publish token + Given nothing + When I instance a Publisher Then throws an error Scenario: Broadcast stream @@ -14,22 +19,12 @@ Feature: As a user I want to publish a stream without managing connections Given an instance of Publish When I broadcast a stream without options Then throws an error - - Scenario: Broadcast with invalid codec - Given an instance of Publish - When I broadcast with unsupported codec - Then throws an error - - Scenario: Broadcast with non-default codec - Given an instance of Publish - When I broadcast a stream with H265 codec - Then peer connection state is connected Scenario: Broadcast without connection path Given I want to broadcast When I instance a Publish with token generator without connection path Then throws an error - + Scenario: Broadcast without mediaStream Given an instance of Publish When I broadcast a stream without a mediaStream @@ -73,4 +68,14 @@ Feature: As a user I want to publish a stream without managing connections Scenario: Broadcast to stream with record option but no record available from token Given an instance of Publish with valid token generator with no recording available When I broadcast a stream - Then throws an error \ No newline at end of file + Then throws an error + + Scenario: Broadcast with invalid codec + Given an instance of Publish + When I broadcast with unsupported codec + Then throws an error + + Scenario: Broadcast with non-default codec + Given an instance of Publish + When I broadcast a stream with H265 codec + Then peer connection state is connected \ No newline at end of file diff --git a/packages/millicast-sdk/tests/features/View.feature b/packages/millicast-sdk/tests/features/Viewer.feature similarity index 81% rename from packages/millicast-sdk/tests/features/View.feature rename to packages/millicast-sdk/tests/features/Viewer.feature index c32145c1..02007abc 100644 --- a/packages/millicast-sdk/tests/features/View.feature +++ b/packages/millicast-sdk/tests/features/Viewer.feature @@ -1,7 +1,12 @@ Feature: As a user I want to subscribe to a stream without managing connections - Scenario: Instance viewer without tokenGenerator - Given no token generator + Scenario: Instance viewer without stream name + Given nothing + When I instance a View + Then throws an error + + Scenario: Instance viewer without stream account id + Given nothing When I instance a View Then throws an error @@ -40,7 +45,7 @@ Feature: As a user I want to subscribe to a stream without managing connections When I check if subscription is active Then returns false - Scenario: Subscribe to stream with invalid token generator - Given an instance of View with invalid token generator + Scenario: Subscribe to stream with invalid options + Given an instance of View with invalid options When I subscribe to a stream Then throws token generator error \ No newline at end of file diff --git a/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js b/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js index 28a8d630..5ae5356e 100644 --- a/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js +++ b/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import BaseWebRTC from '../../src/utils/BaseWebRTC' +import { BaseWebRTC } from '../../src/utils/BaseWebRTC' import { defaultConfig } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' const feature = loadFeature('../features/BaseWebRTC.feature', { loadRelativePath: true, errors: true }) diff --git a/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js b/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js index 35e9a121..18b7dbe0 100644 --- a/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js +++ b/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { mockFetchJsonReturnValue, mockFetchRejectValue } from './__mocks__/Fetch' -import Director from '../../src/Director' +import { Director } from '../../src/Director' const feature = loadFeature('../features/GetPublisherConnectionPath.feature', { loadRelativePath: true, errors: true, @@ -11,7 +11,7 @@ const dummyToken = defineFeature(feature, (test) => { beforeEach(() => { - Director.setLiveDomain('') + Director.liveDomain = '' }) test('Publish with an existing stream name and valid token', ({ given, when, then }) => { @@ -134,7 +134,7 @@ defineFeature(feature, (test) => { given('I have a valid token and an existing stream name', async () => { token = 'Valid_token' streamName = 'Existing_stream_name' - Director.setEndpoint('https://director-dev.millicast.com') + Director.endpoint = 'https://director-dev.millicast.com' }) when('I request a connection path to Director API', async () => { @@ -144,7 +144,7 @@ defineFeature(feature, (test) => { }) then('I get the publish connection path', async () => { - expect(fetch).toBeCalledWith( + expect(fetch).toHaveBeenCalledWith( expect.stringContaining('https://director-dev.millicast.com'), expect.any(Object) ) @@ -206,7 +206,7 @@ defineFeature(feature, (test) => { }) when('I set a custom live websocket domain and I request a connection path to Director API', async () => { - Director.setLiveDomain('test.com') + Director.liveDomain = 'dolby.com' mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) const options = { token, streamName } response = await Director.getPublisher(options) diff --git a/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js b/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js index d71ea830..6f111a89 100644 --- a/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js +++ b/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { mockFetchJsonReturnValue, mockFetchRejectValue } from './__mocks__/Fetch' -import Director from '../../src/Director' +import { Director } from '../../src/Director' const feature = loadFeature('../features/GetSubscriberConnectionPath.feature', { loadRelativePath: true, errors: true, @@ -12,7 +12,7 @@ const dummyToken = defineFeature(feature, (test) => { beforeEach(() => { fetch.mockClear() - Director.setLiveDomain('') + Director.liveDomain = ''; }) test('Subscribe to an existing unrestricted stream, valid accountId and no token', ({ @@ -132,7 +132,7 @@ defineFeature(feature, (test) => { given('I have an existing stream name, accountId and no token', async () => { accountId = 'Existing_accountId' streamName = 'Existing_stream_name' - Director.setEndpoint('https://director-dev.millicast.com') + Director.endpoint = 'https://director-dev.millicast.com' }) when('I request a connection path to Director API', async () => { @@ -142,7 +142,7 @@ defineFeature(feature, (test) => { }) then('I get the subscriber connection path', async () => { - expect(fetch).toBeCalledWith( + expect(fetch).toHaveBeenCalledWith( expect.stringContaining('https://director-dev.millicast.com'), expect.any(Object) ) @@ -206,7 +206,7 @@ defineFeature(feature, (test) => { }) when('I set a custom live websocket domain and I request a connection path to Director API', async () => { - Director.setLiveDomain('test.com') + Director.liveDomain = 'dolby.com' mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) const options = { streamName, streamAccountId: accountId } response = await Director.getSubscriber(options) diff --git a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js index 482e8fd2..50ebe2ff 100644 --- a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js @@ -1,11 +1,11 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import Logger from '../../src/Logger' import Signaling from '../../src/Signaling' -import View from '../../src/View' +import { Viewer } from '../../src/Viewer' import MockRTCPeerConnection, { rawStats } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' import { changeBrowserMock } from './__mocks__/MockBrowser' -import Publish from '../../src/Publish' +import { Publisher } from '../../src/Publisher' import Diagnostics from '../../src/utils/Diagnostics' import { version } from '../../package.json' @@ -38,7 +38,7 @@ const expectedObject = { stats: expect.any(Array), } -const mockViewTokenGenerator = jest.fn(() => { +const mockViewerTokenGenerator = jest.fn(() => { return { urls: ['ws://localhost:8080'], jwt: 'this-is-a-jwt-dummy-token', @@ -66,16 +66,16 @@ defineFeature(feature, (test) => { let expectedError let diagnose - given('connection has failed', async () => { - const mockErrorTokenGenerator = () => Promise.resolve(null) - viewer = new View(mockErrorTokenGenerator) + given('connection has failed', () => { + viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}); + jest.spyOn(viewer, "tokenGenerator").mockImplementation(() => null); expectedError = expect(() => viewer.connect()) expectedError.rejects.toThrow(Error) }) - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose() + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose() }) then('console logs an information object', async () => { @@ -88,16 +88,17 @@ defineFeature(feature, (test) => { let diagnose given('connection to a stream', async () => { - viewer = new View(mockViewTokenGenerator) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); await viewer.connect() expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose() + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose() }) - then('console logs an information object', async () => { + then('console logs an information object', () => { expect(diagnose).toMatchObject(expectedObject) }) }, 10000) @@ -107,7 +108,8 @@ defineFeature(feature, (test) => { let diagnose given('connection to a stream and stats enabled', async () => { - viewer = new View(mockViewTokenGenerator) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); await viewer.connect() expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') viewer.webRTCPeer.initStats() @@ -115,32 +117,55 @@ defineFeature(feature, (test) => { Diagnostics.addStats(stats) }) - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose(1) + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose(1) }) - then('console logs an information object with stats attribute not empty', async () => { + then('console logs an information object with stats attribute not empty', () => { expect(diagnose).toMatchObject(expectedObject) expect(diagnose.stats.length).toBe(1) }) }, 10000) + test('Get information in another browser', ({ given, when, then }) => { + let viewer + let diagnose + + given('I am in Firefox and start a connection to a stream', async () => { + changeBrowserMock('Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0') + + viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); + await viewer.connect() + expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') + }) + + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose() + }) + + then("console logs an information object with Firefox's userAgent", async () => { + expect(diagnose.userAgent).not.toBe(expectedObject.userAgent) + }) + }, 10000) + test('Get information while publishing a stream', ({ given, when, then }) => { let diagnose let publisher const mediaStream = new MediaStream([{ kind: 'video' }, { kind: 'audio' }]) given('a stream being published', async () => { - publisher = new Publish(mockPublishTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockPublishTokenGenerator); await publisher.connect({ mediaStream }) expect(publisher.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose() + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose() }) - then('console logs an information object', async () => { + then('console logs an information object', () => { expect(diagnose).toMatchObject(expectedObject) }) }, 10000) @@ -151,41 +176,21 @@ defineFeature(feature, (test) => { let expectedError const mediaStream = new MediaStream([{ kind: 'video' }, { kind: 'audio' }]) - given('a stream cannot be published', async () => { + given('a stream cannot be published', () => { + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) const mockErrorTokenGenerator = () => Promise.resolve(null) - publisher = new Publish(mockErrorTokenGenerator) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); - expectedError = expect(() => publisher.connect({ mediaStream })) + expectedError = expect(async () => await publisher.connect({ mediaStream })) expectedError.rejects.toThrow(Error) }) - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose() + when('I call Logger diagnose function', () => { + diagnose = Logger.diagnose() }) - then('console logs an information object', async () => { + then('console logs an information object', () => { expect(diagnose).toMatchObject(expectedObject) }) }, 10000) - - test('Get information in another browser', ({ given, when, then }) => { - let viewer - let diagnose - - given('I am in Firefox and start a connection to a stream', async () => { - changeBrowserMock('Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0') - - viewer = new View(mockViewTokenGenerator) - await viewer.connect() - expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') - }) - - when('I call Logger diagnose function', async () => { - diagnose = await Logger.diagnose() - }) - - then("console logs an information object with Firefox's userAgent", async () => { - expect(diagnose.userAgent).not.toBe(expectedObject.userAgent) - }) - }, 10000) }) diff --git a/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js b/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js index 0558a662..3d6ca44c 100644 --- a/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js @@ -15,8 +15,8 @@ defineFeature(feature, (test) => { }) then('I receive this message in handler', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { level: Logger.INFO, filterLevel: Logger.TRACE, }) @@ -51,8 +51,8 @@ defineFeature(feature, (test) => { }) then('I receive this message in handler', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { level: Logger.ERROR, filterLevel: Logger.TRACE, }) @@ -73,14 +73,14 @@ defineFeature(feature, (test) => { }) then('both handlers receive this message', async () => { - expect(infoHandler).toBeCalledTimes(1) - expect(infoHandler).toBeCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { + expect(infoHandler).toHaveBeenCalledTimes(1) + expect(infoHandler).toHaveBeenCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { level: Logger.ERROR, filterLevel: Logger.TRACE, }) - expect(errorHandler).toBeCalledTimes(1) - expect(errorHandler).toBeCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { + expect(errorHandler).toHaveBeenCalledTimes(1) + expect(errorHandler).toHaveBeenCalledWith(expect.objectContaining({ 0: 'This is a log message' }), { level: Logger.ERROR, filterLevel: Logger.TRACE, }) diff --git a/packages/millicast-sdk/tests/unit/LoggerLevels.steps.js b/packages/millicast-sdk/tests/unit/LoggerLevels.steps.js index a190b0ab..fd401d3b 100644 --- a/packages/millicast-sdk/tests/unit/LoggerLevels.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerLevels.steps.js @@ -87,8 +87,8 @@ defineFeature(feature, (test) => { }) then('a message is logged in console', async () => { - expect(console).toBeCalledTimes(1) - expect(console).toBeCalledWith(expect.any(String), 'This is a log message') + expect(console).toHaveBeenCalledTimes(1) + expect(console).toHaveBeenCalledWith(expect.any(String), 'This is a log message') }) }) }) diff --git a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js index 09823848..d07fe212 100644 --- a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js +++ b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection, { webRTCEvents } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import { defaultConfig } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' const feature = loadFeature('../features/ManagePeerConnection.feature', { @@ -77,7 +77,7 @@ defineFeature(feature, (test) => { given('I have a RTC peer', async () => { peerConnection = new PeerConnection() await peerConnection.createRTCPeer() - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) }) when('I close the RTC peer', async () => { @@ -85,8 +85,8 @@ defineFeature(feature, (test) => { }) then('the peer is closed and emits connectionStateChange event', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('closed') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('closed') expect(peerConnection.peer).toBeNull() }) }) diff --git a/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js b/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js index cafd566d..f79a8e69 100644 --- a/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js +++ b/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js @@ -37,8 +37,8 @@ defineFeature(feature, (test) => { }) then('returns the WebSocket connection and fires a connectionSuccess event', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith({ ws: expect.any(WebSocket), tm: expect.any(Object) }) + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith({ ws: expect.any(WebSocket), tm: expect.any(Object) }) }) }) @@ -53,8 +53,8 @@ defineFeature(feature, (test) => { }) then('returns the WebSocket connection and fires a connectionSuccess event', () => { - expect(handler).toBeCalledTimes(2) - expect(handler).toBeCalledWith({ ws: expect.any(WebSocket), tm: expect.any(Object) }) + expect(handler).toHaveBeenCalledTimes(2) + expect(handler).toHaveBeenCalledWith({ ws: expect.any(WebSocket), tm: expect.any(Object) }) }) }) @@ -72,26 +72,70 @@ defineFeature(feature, (test) => { }) then('fires a connectionError event', () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith(expect.stringMatching(publishWebSocketLocation)) + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith(expect.stringMatching(publishWebSocketLocation)) }) }) - test('Receive broadcast events from server', ({ given, when, then }) => { + const testEvent = (eventName, eventData, given, when, then) => { given('I am connected to server', async () => { - signaling.on('broadcastEvent', handler) + signaling.on(eventName, handler); + await signaling.connect(); + }); + + when(`the server send an ${eventName} event`, () => { + server.send({ type: 'event', name: eventName, data: eventData }); + }); + + then(`fires an ${eventName} event`, () => () => { + expect(handler).toHaveBeenCalledTimes(1); + expect(handler).toHaveBeenCalledWith({ ...eventData, namespace: undefined }); + }); + }; + + test('Receive active event from server', ({ given, when, then }) => { + testEvent('active', { streamId: 'streamId' }, given, when, then); + }); + + test('Receive inactive event from server', ({ given, when, then }) => { + testEvent('inactive', { streamId: 'streamId', sourceId: 'sourceId' }, given, when, then); + }); + + test('Receive viewercount event from server', ({ given, when, then }) => { + given('I am connected to server', async () => { + signaling.on('viewercount', handler) await signaling.connect() - }) + }); - when('the server send a broadcast event', () => { - server.send({ type: 'event', name: 'active', data: { streamId: 'streamId' } }) - }) + when('the server send an viewercount event', () => { + server.send({ type: 'event', name: 'viewercount', data: {viewercount: 123} }); + }); - then('fires a broadcastEvent event', () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith({ name: 'active', data: { streamId: 'streamId' }, namespace: undefined }) - }) - }) + then('fires an viewercount event', () => () => { + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith(123) + }); + }); + + test('Receive migrate event from server', ({ given, when, then }) => { + testEvent('migrate', {}, given, when, then); + }); + + test('Receive updated event from server', ({ given, when, then }) => { + testEvent('updated', {}, given, when, then); + }); + + test('Receive stopped event from server', ({ given, when, then }) => { + testEvent('stopped', {}, given, when, then); + }); + + test('Receive vad event from server', ({ given, when, then }) => { + testEvent('vad', {}, given, when, then); + }); + + test('Receive layers event from server', ({ given, when, then }) => { + testEvent('layers', { medias: {} }, given, when, then); + }); test('Close existing server connection', ({ given, when, then }) => { given('I am connected to server', async () => { @@ -105,7 +149,7 @@ defineFeature(feature, (test) => { then('the connection closes', async () => { await server.closed - expect(handler).toBeCalledTimes(1) + expect(handler).toHaveBeenCalledTimes(1) expect(signaling.webSocket).toBe(null) }) }) diff --git a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js index b2edd66d..d795e427 100644 --- a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js +++ b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection, { webRTCEvents } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' @@ -24,15 +24,15 @@ defineFeature(feature, (test) => { }) when('peer returns new track', async () => { - peerConnection.on(webRTCEvents.track, handler) + peerConnection.on('track', handler) peerConnection.peer.emitMockEvent('ontrack', { streams: ['new stream incoming'] }) }) then('track event is fired', async () => { // PeerConnection's track event is asynchronous now await new Promise((resolve) => setTimeout(resolve, 100)) - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith({ streams: ['new stream incoming'] }) + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith({ streams: ['new stream incoming'] }) }) }) @@ -46,15 +46,15 @@ defineFeature(feature, (test) => { }) when('peer starts to connect', async () => { - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) await peerConnection.setRTCRemoteSDP(sdp) peerConnection.peer.connectionState = 'connecting' peerConnection.peer.emitMockEvent('onconnectionstatechange', {}) }) then('connectionStateChange event is fired', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('connecting') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('connecting') }) }) @@ -68,15 +68,15 @@ defineFeature(feature, (test) => { }) when('peer connects', async () => { - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) await peerConnection.setRTCRemoteSDP(sdp) peerConnection.peer.connectionState = 'connected' peerConnection.peer.emitMockEvent('onconnectionstatechange', {}) }) then('connectionStateChange event is fired', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('connected') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('connected') }) }) @@ -92,14 +92,14 @@ defineFeature(feature, (test) => { }) when('peer disconnects', async () => { - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) peerConnection.peer.connectionState = 'disconnected' peerConnection.peer.emitMockEvent('onconnectionstatechange', {}) }) then('connectionStateChange event is fired', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('disconnected') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('disconnected') }) }) @@ -115,14 +115,14 @@ defineFeature(feature, (test) => { }) when('peer have a connection error', async () => { - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) peerConnection.peer.connectionState = 'failed' peerConnection.peer.emitMockEvent('onconnectionstatechange', {}) }) then('connectionStateChange event is fired', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('failed') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('failed') }) }) @@ -137,14 +137,14 @@ defineFeature(feature, (test) => { }) when('peer is instanced', async () => { - peerConnection.on(webRTCEvents.connectionStateChange, handler) + peerConnection.on('connectionStateChange', handler) await peerConnection.setRTCRemoteSDP(sdp) peerConnection.peer.emitMockEvent('oniceconnectionstatechange') }) then('connectionStateChange event is fired', async () => { - expect(handler).toBeCalledTimes(1) - expect(handler).toBeCalledWith('connected') + expect(handler).toHaveBeenCalledTimes(1) + expect(handler).toHaveBeenCalledWith('connected') }) }) }) diff --git a/packages/millicast-sdk/tests/unit/Publish.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js similarity index 73% rename from packages/millicast-sdk/tests/unit/Publish.steps.js rename to packages/millicast-sdk/tests/unit/Publisher.steps.js index 686bc793..bcb4764d 100644 --- a/packages/millicast-sdk/tests/unit/Publish.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -1,12 +1,12 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import Publish from '../../src/Publish' +import { Publisher } from '../../src/Publisher' import PeerConnection from '../../src/PeerConnection' import Signaling from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockBrowser' -const feature = loadFeature('../features/Publish.feature', { loadRelativePath: true, errors: true }) +const feature = loadFeature('../features/Publisher.feature', { loadRelativePath: true, errors: true }) jest.mock('../../src/Signaling') @@ -29,18 +29,34 @@ const mockTokenGenerator = jest.fn(() => { const mediaStream = new MediaStream([{ kind: 'video' }, { kind: 'audio' }]) defineFeature(feature, (test) => { - test('Instance publisher without tokenGenerator', ({ given, when, then }) => { + + test('Instance publisher without stream name', ({ given, when, then }) => { + let expectError + + given('nothing', () => {}) + + when('I instance a Publisher', async () => { + expectError = expect(() => new Publisher({})) + }) + + then('throws an error', async () => { + expectError.toThrow(Error) + expectError.toThrow('The Stream Name is missing.') + }) + }) + + test('Instance publisher without publish token', ({ given, when, then }) => { let expectError - given('no token generator', () => null) + given('nothing', () => {}) - when('I instance a Publish', async () => { - expectError = expect(() => new Publish()) + when('I instance a Publisher', async () => { + expectError = expect(() => new Publisher({streamName: 'a'})) }) then('throws an error', async () => { expectError.toThrow(Error) - expectError.toThrow('Token generator is required to construct this module.') + expectError.toThrow('The Publish Token is missing.') }) }) @@ -48,7 +64,8 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with connection path', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream with media stream', async () => { @@ -65,7 +82,8 @@ defineFeature(feature, (test) => { let expectError given('an instance of Publish', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream without options', async () => { @@ -85,8 +103,9 @@ defineFeature(feature, (test) => { given('I want to broadcast', async () => {}) when('I instance a Publish with token generator without connection path', async () => { - const mockErrorTokenGenerator = () => Promise.resolve(null) - publisher = new Publish(mockErrorTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + const mockErrorTokenGenerator = () => Promise.resolve(null); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); expectError = expect(() => publisher.connect({ mediaStream })) }) @@ -101,7 +120,8 @@ defineFeature(feature, (test) => { let expectError given('an instance of Publish', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream without a mediaStream', async () => { @@ -120,7 +140,8 @@ defineFeature(feature, (test) => { given('an instance of Publish already connected', async () => { jest.spyOn(Signaling.prototype, 'publish').mockReturnValue('sdp') - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) @@ -139,7 +160,8 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { jest.spyOn(PeerConnection.prototype, 'updateBandwidthRestriction').mockImplementation(jest.fn) - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream with bandwidth restriction', async () => { @@ -150,13 +172,14 @@ defineFeature(feature, (test) => { }) then('peer connection state is connected', async () => { - expect(publisher.webRTCPeer.updateBandwidthRestriction).toBeCalledTimes(1) + expect(publisher.webRTCPeer.updateBandwidthRestriction).toHaveBeenCalledTimes(1) expect(publisher.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) }) test('Stop publish', ({ given, when, then }) => { - const publisher = new Publish(mockTokenGenerator) + const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); let signaling given('I am publishing a stream', async () => { @@ -177,7 +200,8 @@ defineFeature(feature, (test) => { }) test('Stop inactive publish', ({ given, when, then }) => { - const publisher = new Publish(mockTokenGenerator) + const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); given('I am not publishing a stream', () => null) @@ -192,7 +216,8 @@ defineFeature(feature, (test) => { }) test('Check status of active publish', ({ given, when, then }) => { - const publisher = new Publish(mockTokenGenerator) + const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); let result given('I am publishing a stream', async () => { @@ -210,7 +235,8 @@ defineFeature(feature, (test) => { }) test('Check status of inactive publish', ({ given, when, then }) => { - const publisher = new Publish(mockTokenGenerator) + const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); let result given('I am not publishing a stream', () => null) @@ -229,10 +255,11 @@ defineFeature(feature, (test) => { let expectError given('an instance of Publish with invalid token generator', async () => { + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) const errorTokenGenerator = jest.fn(() => { throw new Error('Error getting token') }) - publisher = new Publish(errorTokenGenerator) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(errorTokenGenerator); }) when('I broadcast a stream', async () => { @@ -254,7 +281,8 @@ defineFeature(feature, (test) => { let expectError given('an instance of Publish with valid token generator with no recording available', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream', async () => { @@ -272,7 +300,8 @@ defineFeature(feature, (test) => { let expectedError given('an instance of Publish', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(PeerConnection, 'getCapabilities').mockReturnValue({ codecs: [ { codec: 'vp8', mimeType: 'video/VP8' }, @@ -296,7 +325,8 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish', async () => { - publisher = new Publish(mockTokenGenerator) + publisher = new Publisher({streamName: 'a', publishToken: 'b'}) + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(PeerConnection, 'getCapabilities').mockReturnValue({ codecs: [ { codec: 'vp8', mimeType: 'video/VP8' }, diff --git a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js index 1a4ff2d1..1d85f3ff 100644 --- a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js @@ -1,6 +1,4 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { webRTCEvents } from '../../src/PeerConnection' -import { signalingEvents } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockBrowser' @@ -9,7 +7,7 @@ const feature = loadFeature('../features/PublisherReconnection.feature', { loadRelativePath: true, errors: true, }) -let Publish +let Publisher let setTimeout jest.useFakeTimers() @@ -52,7 +50,7 @@ beforeEach(() => { jest.clearAllTimers() setTimeout = jest.spyOn(window, 'setTimeout') jest.isolateModules(() => { - Publish = require('../../src/Publish').default + Publisher = require('../../src/Publisher').Publisher }) }) @@ -61,16 +59,17 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) when('peer has an error', () => { - publisher.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'failed') + publisher.webRTCPeer.emit('connectionStateChange', 'failed') }) then('reconnection is called', async () => { - expect(publisher.reconnect).toBeCalledTimes(1) + expect(publisher.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -78,13 +77,14 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) when('peer change status to connected', () => { - publisher.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'connected') + publisher.webRTCPeer.emit('connectionStateChange', 'connected') }) then('reconnection is not called', async () => { @@ -96,17 +96,18 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) when('signaling has an error', () => { - publisher.signaling.emit(signalingEvents.connectionError, 'webSocketLocation') + publisher.signaling.emit('wsConnectionError', 'webSocketLocation') }) then('reconnection is called', async () => { - expect(publisher.reconnect).toBeCalledTimes(1) + expect(publisher.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -118,7 +119,8 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(() => { publisher.firstReconnection = false publisher.alreadyDisconnected = true @@ -128,12 +130,12 @@ defineFeature(feature, (test) => { when('reconnect was called and signaling has an error', () => { publisher.reconnect() - expect(publisher.reconnect).toBeCalledTimes(1) - publisher.signaling.emit(signalingEvents.connectionError, 'webSocketLocation') + expect(publisher.reconnect).toHaveBeenCalledTimes(1) + publisher.signaling.emit('wsConnectionError', 'webSocketLocation') }) then('reconnection is not called', async () => { - expect(publisher.reconnect).toBeCalledTimes(1) + expect(publisher.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -141,13 +143,14 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection disabled', async () => { - publisher = new Publish(mockTokenGenerator, false) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: false}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) when('peer has an error', () => { - publisher.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'failed') + publisher.webRTCPeer.emit('connectionStateChange', 'failed') }) then('reconnection is not called', async () => { @@ -159,13 +162,14 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) when('peer has a disconnection', () => { - publisher.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'disconnected') + publisher.webRTCPeer.emit('connectionStateChange', 'disconnected') }) then('waits and call reconnection', async () => { @@ -182,7 +186,8 @@ defineFeature(feature, (test) => { const errorMessage = 'Error has ocurred' given('an instance of Publish with reconnection enabled and peer with error', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); publisher.on('reconnect', reconnectHandler) await publisher.connect({ mediaStream }) publisher.webRTCPeer.peer.connectionState = 'failed' @@ -224,7 +229,8 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) @@ -242,7 +248,8 @@ defineFeature(feature, (test) => { let publisher given('an instance of Publish with reconnection enabled', async () => { - publisher = new Publish(mockTokenGenerator, true) + publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); + jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) diff --git a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js index 27bc803c..6af5f7c1 100644 --- a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js @@ -316,7 +316,7 @@ defineFeature(feature, (test) => { then('returns the SDP with scalability mode', async () => { expect(peerConnection.peer.currentLocalDescription).toBeDefined() expect(sdp).toBeDefined() - expect(peerConnection.peer.addTransceiver).toBeCalledTimes(2) + expect(peerConnection.peer.addTransceiver).toHaveBeenCalledTimes(2) }) }) diff --git a/packages/millicast-sdk/tests/unit/View.steps.js b/packages/millicast-sdk/tests/unit/Viewer.steps.js similarity index 64% rename from packages/millicast-sdk/tests/unit/View.steps.js rename to packages/millicast-sdk/tests/unit/Viewer.steps.js index e4902153..2983fab8 100644 --- a/packages/millicast-sdk/tests/unit/View.steps.js +++ b/packages/millicast-sdk/tests/unit/Viewer.steps.js @@ -1,10 +1,10 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import View from '../../src/View' +import { Viewer } from '../../src/Viewer' import Signaling from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' -const feature = loadFeature('../features/View.feature', { loadRelativePath: true, errors: true }) +const feature = loadFeature('../features/Viewer.feature', { loadRelativePath: true, errors: true }) jest.mock('../../src/Signaling') @@ -15,6 +15,7 @@ jest.mock('../../src/workers/TransformWorker.worker.ts', () => })) ) + jest.mock('../../src/drm/rtc-drm-transform.min.js', () => ({ rtcDrmConfigure: jest.fn(), rtcDrmOnTrack: jest.fn(), @@ -34,18 +35,33 @@ defineFeature(feature, (test) => { jest.spyOn(Signaling.prototype, 'subscribe').mockReturnValue('sdp') }) - test('Instance viewer without tokenGenerator', ({ given, when, then }) => { + test('Instance viewer without stream name', ({ given, when, then }) => { let expectError - given('no token generator', () => null) + given('nothing', () => {}) when('I instance a View', async () => { - expectError = expect(() => new View()) + expectError = expect(() => new Viewer({})) }) then('throws an error', async () => { expectError.toThrow(Error) - expectError.toThrow('Token generator is required to construct this module.') + expectError.toThrow('The Stream Name is missing.') + }) + }) + + test('Instance viewer without stream account id', ({ given, when, then }) => { + let expectError + + given('nothing', () => {}) + + when('I instance a View', async () => { + expectError = expect(() => new Viewer({streamName: 'streamname'})) + }) + + then('throws an error', async () => { + expectError.toThrow(Error) + expectError.toThrow('The Stream Account ID is missing.') }) }) @@ -53,7 +69,8 @@ defineFeature(feature, (test) => { let viewer given('an instance of View', async () => { - viewer = new View(mockTokenGenerator) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); }) when('I subscribe to a stream with a connection path', async () => { @@ -72,10 +89,11 @@ defineFeature(feature, (test) => { given('I want to subscribe', async () => {}) when('I instance a View with a token generator without connection path', async () => { - const mockErrorTokenGenerator = () => Promise.resolve(null) - viewer = new View(mockErrorTokenGenerator) + viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + const mockErrorTokenGenerator = () => Promise.resolve(null); + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); - expectError = expect(() => viewer.connect()) + expectError = expect(async () => await viewer.connect()) }) then('throws an error', async () => { @@ -89,7 +107,8 @@ defineFeature(feature, (test) => { let expectError given('an instance of View already connected', async () => { - viewer = new View(mockTokenGenerator) + viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); await viewer.connect() }) @@ -104,7 +123,8 @@ defineFeature(feature, (test) => { }) test('Stop subscription', ({ given, when, then }) => { - const viewer = new View(mockTokenGenerator) + const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); let signaling given('I am subscribed to a stream', async () => { @@ -124,7 +144,8 @@ defineFeature(feature, (test) => { }) test('Stop inactive subscription', ({ given, when, then }) => { - const viewer = new View(mockTokenGenerator) + const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); given('I am not connected to a stream', () => null) @@ -139,7 +160,8 @@ defineFeature(feature, (test) => { }) test('Check status of active subscription', ({ given, when, then }) => { - const viewer = new View(mockTokenGenerator) + const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); let result given('I am subscribed to a stream', async () => { @@ -156,7 +178,8 @@ defineFeature(feature, (test) => { }) test('Check status of inactive subscription', ({ given, when, then }) => { - const viewer = new View(mockTokenGenerator) + const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); let result given('I am not subscribed to a stream', () => null) @@ -170,15 +193,16 @@ defineFeature(feature, (test) => { }) }) - test('Subscribe to stream with invalid token generator', ({ given, when, then }) => { + test('Subscribe to stream with invalid options', ({ given, when, then }) => { let viewer let expectError - given('an instance of View with invalid token generator', async () => { + given('an instance of View with invalid options', async () => { + viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) const errorTokenGenerator = jest.fn(() => { throw new Error('Error getting token') }) - viewer = new View(errorTokenGenerator) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(errorTokenGenerator); }) when('I subscribe to a stream', async () => { diff --git a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js index d9238f70..cfb4e634 100644 --- a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js @@ -1,6 +1,4 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { webRTCEvents } from '../../src/PeerConnection' -import { signalingEvents } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' @@ -8,7 +6,7 @@ const feature = loadFeature('../features/ViewerReconnection.feature', { loadRelativePath: true, errors: true, }) -let View +let Viewer let setTimeout jest.useFakeTimers() @@ -56,7 +54,7 @@ beforeEach(() => { jest.clearAllTimers() setTimeout = jest.spyOn(window, 'setTimeout') jest.isolateModules(() => { - View = require('../../src/View').default + Viewer = require('../../src/Viewer').Viewer }) }) @@ -65,17 +63,18 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) when('peer has an error', () => { - viewer.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'failed') + viewer.webRTCPeer.emit('connectionStateChange', 'failed') }) then('reconnection is called', async () => { - expect(viewer.reconnect).toBeCalledTimes(1) + expect(viewer.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -83,13 +82,14 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) when('peer change status to connected', () => { - viewer.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'connected') + viewer.webRTCPeer.emit('connectionStateChange', 'connected') }) then('reconnection is not called', async () => { @@ -101,17 +101,18 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) when('signaling has an error', () => { - viewer.signaling.emit(signalingEvents.connectionError, 'webSocketLocation') + viewer.signaling.emit('wsConnectionError', 'webSocketLocation') }) then('reconnection is called', async () => { - expect(viewer.reconnect).toBeCalledTimes(1) + expect(viewer.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -123,22 +124,23 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(() => { - viewer.firstReconnection = false - viewer.alreadyDisconnected = true + viewer.firstReconnection = false; + viewer.alreadyDisconnected = true; }) await viewer.connect() }) when('reconnect was called and signaling has an error', () => { - viewer.reconnect() - expect(viewer.reconnect).toBeCalledTimes(1) - viewer.signaling.emit(signalingEvents.connectionError, 'webSocketLocation') + viewer.reconnect(); + expect(viewer.reconnect).toHaveBeenCalledTimes(1) + viewer.signaling.emit('wsConnectionError', 'webSocketLocation') }) - then('reconnection is not called', async () => { - expect(viewer.reconnect).toBeCalledTimes(1) + then('reconnection is not called', () => { + expect(viewer.reconnect).toHaveBeenCalledTimes(1) }) }) @@ -146,13 +148,14 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection disabled', async () => { - viewer = new View(mockTokenGenerator, false) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: false}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) when('peer has an error', () => { - viewer.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'failed') + viewer.webRTCPeer.emit('connectionStateChange', 'failed') }) then('reconnection is not called', async () => { @@ -164,13 +167,14 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) when('peer has a disconnection', () => { - viewer.webRTCPeer.emit(webRTCEvents.connectionStateChange, 'disconnected') + viewer.webRTCPeer.emit('connectionStateChange', 'disconnected') }) then('waits and call reconnection', async () => { @@ -187,7 +191,8 @@ defineFeature(feature, (test) => { const errorMessage = 'Error has ocurred' given('an instance of Viewer with reconnection enabled and peer with error', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); viewer.on('reconnect', reconnectHandler) await viewer.connect() viewer.webRTCPeer.peer.connectionState = 'failed' @@ -222,7 +227,7 @@ defineFeature(feature, (test) => { expect(reconnectHandler).toHaveBeenCalledTimes(6) expect(reconnectHandler).toHaveBeenLastCalledWith({ timeout: 32000, error: new Error(errorMessage) }) jest.runOnlyPendingTimers() - expect(viewer.connect).toBeCalledTimes(7) + expect(viewer.connect).toHaveBeenCalledTimes(7) }) }) @@ -230,7 +235,8 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); await viewer.connect() }) @@ -248,7 +254,8 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new View(mockTokenGenerator, true) + viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); await viewer.connect() }) diff --git a/packages/millicast-viewer-demo/src/viewer.ts b/packages/millicast-viewer-demo/src/viewer.ts index 54213b29..bc23120c 100644 --- a/packages/millicast-viewer-demo/src/viewer.ts +++ b/packages/millicast-viewer-demo/src/viewer.ts @@ -1,13 +1,12 @@ -import { View, Director, Logger } from "@nx-millicast/millicast-sdk"; -import { DirectorSubscriberOptions } from "packages/millicast-sdk/src/types/Director.types"; -import { ActiveEvent, DRMOptions } from "packages/millicast-sdk/src/types/View.types"; +import { Viewer, Director, Logger, ActiveEventPayload, MetadataEventPayload } from "@nx-millicast/millicast-sdk"; +import { DRMOptions } from "packages/millicast-sdk/src/types/Viewer.types"; window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT) + Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT } //Get our url @@ -54,34 +53,36 @@ let video = document.querySelector("video") as HTMLVideoElement; let millicastView = null const newViewer = () => { - const options: DirectorSubscriberOptions = { streamName, streamAccountId: accountId, subscriberToken } - const tokenGenerator = () => Director.getSubscriber(options); - const millicastView = new View(tokenGenerator, autoReconnect) - millicastView.on("broadcastEvent", (event) => { + const millicastView = new Viewer({ + streamName, + streamAccountId: accountId, + subscriberToken, + autoReconnect, + }); + + millicastView.on("active", (event: ActiveEventPayload) => { if (!autoReconnect) return; - if (event.name === "active") { - const _event = event as ActiveEvent - const encryption = _event.data.encryption - if (encryption && enableDRM) { - const drmOptions: DRMOptions = { - videoElement: document.querySelector("video"), - audioElement: document.querySelector("audio"), - videoEncryptionParams: encryption, - videoMid: '0', - }; - const audioTrackInfo = _event.data.tracks.find((track) => track.media === 'audio') - if (audioTrackInfo) { - drmOptions.audioMid = audioTrackInfo.trackId; - } - millicastView.configureDRM(drmOptions) + const encryption = event.encryption + if (encryption && enableDRM) { + const drmOptions: DRMOptions = { + videoElement: document.querySelector("video"), + audioElement: document.querySelector("audio"), + videoEncryptionParams: encryption, + videoMid: '0', + }; + const audioTrackInfo = event.tracks.find((track) => track.media === 'audio') + if (audioTrackInfo) { + drmOptions.audioMid = audioTrackInfo.trackId; } + millicastView.configureDRM(drmOptions) } }); + millicastView.on("track", (event) => { if (!millicastView.isDRMOn) addStream(event.streams[0]); }); - millicastView.on('metadata', (metadata) => { + millicastView.on('metadata', (metadata: MetadataEventPayload) => { if (metadata.unregistered) { console.log('received SEI unregistered messsage', metadata.unregistered) } @@ -90,7 +91,7 @@ const newViewer = () => { } }) - millicastView.on('error', (error) => { + millicastView.on('error', (error: Error) => { console.log('Error from Millicast SDK', error) }) diff --git a/packages/millicast-webaudio-delay-demo/src/viewer.ts b/packages/millicast-webaudio-delay-demo/src/viewer.ts index bfe709f3..a93bdbb3 100644 --- a/packages/millicast-webaudio-delay-demo/src/viewer.ts +++ b/packages/millicast-webaudio-delay-demo/src/viewer.ts @@ -1,6 +1,5 @@ -import { View, Director, Logger } from '@nx-millicast/millicast-sdk' +import { Viewer, Director, Logger } from '@nx-millicast/millicast-sdk' import CircularSlider from '@maslick/radiaslider/src/slider-circular' -import { DirectorSubscriberOptions } from 'packages/millicast-sdk/src/types/Director.types' console.log(CircularSlider) window.Logger = Logger @@ -8,7 +7,7 @@ window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT) + Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT } // Get our url @@ -59,9 +58,11 @@ document.body.onclick = async () => { // Create audio context const audioContext = new window.AudioContext({ sampleRate: 48000 }) - const options: DirectorSubscriberOptions = { streamName, streamAccountId } - const tokenGenerator = () => Director.getSubscriber(options) - window.millicastView = millicastView = new View(tokenGenerator, true) + window.millicastView = millicastView = new Viewer({ + streamName, + streamAccountId, + autoReconnect: true, + }) millicastView.on('track', ({ track }) => { // Ignore non audio tracks if (track.kind !== 'audio') { diff --git a/typedoc.base.json b/typedoc.base.json index 604fb4cb..b9134844 100644 --- a/typedoc.base.json +++ b/typedoc.base.json @@ -1,7 +1,8 @@ { "$schema": "https://typedoc.org/schema.json", "navigationLinks": { - "GitHub": "https://github.com/millicast/millicast-sdk" + "GitHub": "https://github.com/millicast/millicast-sdk", + "NPM Package": "https://www.npmjs.com/package/@millicast/sdk" }, "includeVersion": true } diff --git a/typedoc.json b/typedoc.json index 23ed47c2..7bc2a9ae 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,6 +1,6 @@ { "extends": ["./typedoc.base.json"], - "name": "Dolby Millicast", + "name": "Dolby OptiView", "entryPointStrategy": "merge", "entryPoints": ["docs-json/*.json"], "includeVersion": false, From b041b8521c724eebdde3256f19d62d5624411fc1 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 30 Jun 2025 11:57:23 +0200 Subject: [PATCH 03/22] Remove the Director class Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/src/Director.ts | 177 ------------------ packages/millicast-sdk/src/Publisher.ts | 55 ++++-- packages/millicast-sdk/src/Signaling.ts | 43 +---- packages/millicast-sdk/src/Viewer.ts | 68 +++++-- packages/millicast-sdk/src/index.ts | 13 +- .../src/types/BaseWebRTC.types.ts | 35 +++- .../millicast-sdk/src/types/Director.types.ts | 72 ------- .../src/types/Publisher.types.ts | 4 +- .../src/types/Signaling.types.ts | 39 ++-- .../millicast-sdk/src/types/Viewer.types.ts | 4 +- packages/millicast-sdk/src/urls.ts | 47 +++++ .../millicast-sdk/src/utils/BaseWebRTC.ts | 53 ++++-- .../millicast-sdk/tests/e2e/PublishTest.js | 2 +- packages/millicast-sdk/tests/e2e/ViewTest.js | 2 +- .../GetSubscriberConnectionPath.feature | 5 - .../tests/unit/BaseWebRTC.steps.js | 4 +- .../unit/GetPublisherConnectionPath.steps.js | 69 ++++--- .../unit/GetSubscriberConnectionPath.steps.js | 72 +++---- .../tests/unit/LoggerDiagnose.steps.js | 12 +- .../tests/unit/Publisher.steps.js | 28 +-- .../tests/unit/PublisherReconnect.steps.js | 18 +- .../millicast-sdk/tests/unit/Viewer.steps.js | 16 +- .../tests/unit/ViewerReconnect.steps.js | 18 +- 23 files changed, 376 insertions(+), 480 deletions(-) delete mode 100644 packages/millicast-sdk/src/Director.ts delete mode 100644 packages/millicast-sdk/src/types/Director.types.ts create mode 100644 packages/millicast-sdk/src/urls.ts diff --git a/packages/millicast-sdk/src/Director.ts b/packages/millicast-sdk/src/Director.ts deleted file mode 100644 index e1c34291..00000000 --- a/packages/millicast-sdk/src/Director.ts +++ /dev/null @@ -1,177 +0,0 @@ -import Logger from './Logger' -import Diagnostics from './utils/Diagnostics' -import FetchError from './utils/FetchError' -import { - DirectorPublisherOptions, - DirectorResponse, - DirectorSubscriberOptions, - MillicastDirectorResponse, -} from './types/Director.types' -import { ILogger } from 'js-logger'; - -/** - * Simplify API calls to find the best server and region to publish and subscribe to. - * For security reasons all calls will return a [JWT](https://jwt.io) token for - * authentication including the required socket path to connect with. - * @hidden - */ -export class Director { - - static #logger: ILogger = Logger.get('Director'); - - /** @ignore */ - static readonly DEFAULT_API_ENDPOINT: string = 'https://director.millicast.com'; - - static #liveWebsocketDomain: string = ''; - static #apiEndpoint: string = Director.DEFAULT_API_ENDPOINT; - - /** - * Sets the Director API endpoint where requests will be sent. - * - * @param url New Director API endpoint - */ - public static set endpoint(url: string) { - Director.#apiEndpoint = url.replace(/\/$/, ''); - } - - /** - * Gets the current Director API endpoint where requests will be sent. - * - * @returns API base url. - * - * @defaultValue `https://director.millicast.com` - */ - public static get endpoint(): string { - return Director.#apiEndpoint; - } - - /** - * Sets the Websocket Live domain from Director API response. - * If it is set to empty, it will not parse the response. - * - * @param domain New Websocket Live domain - */ - public static set liveDomain(domain: string) { - Director.#liveWebsocketDomain = domain.replace(/\/$/, ''); - } - - /** - * Get current Websocket Live domain. - * By default is empty which corresponds to not parse the Director response. - * - * @returns Websocket Live domain - */ - public static get liveDomain(): string { - return Director.#liveWebsocketDomain; - } - - /** - * Gets the publisher connection data. - * - * @param options Millicast options. - * - * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the publishing connection path. - */ - public static async getPublisher(options: DirectorPublisherOptions): Promise { - Director.#logger.info('Getting publisher connection path for stream name: ', options.streamName) - const payload = { - streamName: options.streamName, - streamType: 'WebRtc', - } - const headers = { 'Content-Type': 'application/json', Authorization: `Bearer ${options.token}` } - const url = `${Director.endpoint}/api/director/publish` - try { - const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }) - let data = await response.json() - if (data.status === 'fail') { - const error = new FetchError(data.data.message, response.status) - throw error - } - data = Director.parseIncomingDirectorResponse(data) - Director.#logger.debug('Getting publisher response: ', data) - Diagnostics.initAccountId(data.data.streamAccountId) - - return data.data - } catch (e) { - Director.#logger.error('Error while getting publisher connection path. ', e) - throw e - } - } - - /** - * Get subscriber connection data. - * - * @param options Millicast options. - * - * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the subscribe connection data. - */ - public static async getSubscriber(options: DirectorSubscriberOptions): Promise { - Diagnostics.initAccountId(options.streamAccountId) - Director.#logger.info( - `Getting subscriber connection data for stream name: ${options.streamName} and account id: ${options.streamAccountId}` - ) - - const payload = { - streamAccountId: options.streamAccountId, - streamName: options.streamName, - } - const subscriberToken = options.subscriberToken - let headers: { 'Content-Type': string; Authorization?: string } = { 'Content-Type': 'application/json' } - if (subscriberToken) { - headers = { ...headers, Authorization: `Bearer ${subscriberToken}` } - } - const url = `${Director.endpoint}/api/director/subscribe` - try { - const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }) - let data = await response.json() - if (data.status === 'fail') { - const error = new FetchError(data.data.message, response.status) - throw error - } - data = Director.parseIncomingDirectorResponse(data) - Director.#logger.debug('Getting subscriber response: ', data) - if (options.subscriberToken) data.data.subscriberToken = options.subscriberToken - return data.data - } catch (e) { - Director.#logger.error('Error while getting subscriber connection path. ', e) - throw e - } - } - - /** @ignore */ - private static parseIncomingDirectorResponse = (directorResponse: { data: DirectorResponse }) => { - if (Director.liveDomain) { - const domainRegex = /\/\/(.*?)\// - const urlsParsed = directorResponse.data.urls.map((url) => { - const matched = domainRegex.exec(url) - if (!matched) { - Director.#logger.warn('Unable to parse incoming director response') - return url - } - return url.replace(matched[1], this.liveDomain) - }) - directorResponse.data.urls = urlsParsed - } - // TODO: remove this when server returns full path of DRM license server URLs - if (directorResponse.data.drmObject) { - const playReadyUrl = directorResponse.data.drmObject.playReadyUrl - if (playReadyUrl) { - directorResponse.data.drmObject.playReadyUrl = `${Director.endpoint}${playReadyUrl}` - } - const widevineUrl = directorResponse.data.drmObject.widevineUrl - if (widevineUrl) { - directorResponse.data.drmObject.widevineUrl = `${Director.endpoint}${widevineUrl}` - } - const fairPlayUrl = directorResponse.data.drmObject.fairPlayUrl - if (fairPlayUrl) { - directorResponse.data.drmObject.fairPlayUrl = `${Director.endpoint}${fairPlayUrl}` - } - const fairPlayCertUrl = directorResponse.data.drmObject.fairPlayCertUrl - if (fairPlayCertUrl) { - directorResponse.data.drmObject.fairPlayCertUrl = `${Director.endpoint}${fairPlayCertUrl}` - } - } - return directorResponse - } - -} diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index 0b817cef..cdb18618 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -6,17 +6,17 @@ import { BaseWebRTC } from './utils/BaseWebRTC' import Signaling from './Signaling' import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs' import PeerConnection, { ConnectionType } from './PeerConnection' +import * as Urls from './urls' import FetchError from './utils/FetchError' import { supportsInsertableStreams, supportsRTCRtpScriptTransform } from './utils/StreamTransform' import TransformWorker from './workers/TransformWorker.worker.ts?worker&inline' import { PublisherOptions, PublishConnectOptions } from './types/Publisher.types' -import { TokenGeneratorCallback } from './types/Director.types' -import { DecodedJWT, ReconnectData } from './types/BaseWebRTC.types' +import { DecodedJWT, MillicastDirectorResponse, ReconnectData } from './types/BaseWebRTC.types' import { SignalingPublishOptions } from './types/Signaling.types' import { VideoCodec } from './types/Codecs.types' import { isNotDefined, validatePublishConnectOptions } from './utils/Validators' -import { Director } from './Director' import { PublisherEvents, SEIUserUnregisteredData } from './types/events' +import Diagnostics from './utils/Diagnostics' const connectOptions: PublishConnectOptions = { sourceId: null, @@ -68,7 +68,8 @@ export class Publisher extends BaseWebRTC { private streamName = '' private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null private stopReemitingSignalingInstanceEvents: (() => void) | null = null - protected override options: PublishConnectOptions = connectOptions + #options: PublisherOptions; + protected override options: PublishConnectOptions = connectOptions; /** * Creates a Publisher object. @@ -88,12 +89,9 @@ export class Publisher extends BaseWebRTC { throw new Error('The Publish Token is missing.'); } - const tokenGenerator: TokenGeneratorCallback = () => Director.getPublisher({ - streamName: options.streamName, - token: options.publishToken, - }); + super(logger, options.autoReconnect ?? true); - super(tokenGenerator, logger, options.autoReconnect ?? true); + this.#options = options; } /** @@ -205,9 +203,9 @@ export class Publisher extends BaseWebRTC { this.logger.warn('Broadcast currently working') throw new Error('Broadcast currently working') } - let publisherData + let publisherData: MillicastDirectorResponse; try { - publisherData = await this.tokenGenerator() + publisherData = await this.getConnectionData() if (this.options.peerConfig) { // Set the iceServers from the publish data into the peerConfig this.options.peerConfig.iceServers = publisherData?.iceServers @@ -356,4 +354,39 @@ export class Publisher extends BaseWebRTC { this.logger.warn(warningMessage) } } + + + + /** + * Gets the publisher connection data. + * + * @param options Millicast options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the publishing connection path. + */ + private async getConnectionData(): Promise { + this.logger.info('Getting publisher connection path for stream name: ', this.#options.streamName) + const payload = { + streamName: this.#options.streamName, + streamType: 'WebRtc', + } + const headers = { 'Content-Type': 'application/json', Authorization: `Bearer ${this.#options.publishToken}` } + const url = `${Urls.getEndpoint()}/api/director/publish` + try { + const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }) + let data = await response.json() + if (data.status === 'fail') { + const error = new FetchError(data.data.message, response.status) + throw error + } + data = this.parseIncomingDirectorResponse(data) + this.logger.debug('Getting publisher response: ', data) + Diagnostics.initAccountId(data.data.streamAccountId) + + return data.data + } catch (e) { + this.logger.error('Error while getting publisher connection path. ', e) + throw e + } + } } diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index 6105126a..35c26f03 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -18,42 +18,8 @@ import { ActiveEventPayload, InactiveEventPayload, LayersEventPayload, Signaling const logger = Logger.get('Signaling') /** - * @typedef {Object} LayerInfo - * @property {String} encodingId - rid value of the simulcast encoding of the track (default: automatic selection) - * @property {Number} spatialLayerId - The spatial layer id to send to the outgoing stream (default: max layer available) - * @property {Number} temporalLayerId - The temporaral layer id to send to the outgoing stream (default: max layer available) - * @property {Number} maxSpatialLayerId - Max spatial layer id (default: unlimited) - * @property {Number} maxTemporalLayerId - Max temporal layer id (default: unlimited) + * Starts WebSocket connection and manages the messages between peers. */ - -/** - * @typedef {Object} SignalingSubscribeOptions - * @property {String} vad - Enable VAD multiplexing for secondary sources. - * @property {String} pinnedSourceId - Id of the main source that will be received by the default MediaStream. - * @property {Array} excludedSourceIds - Do not receive media from the these source ids. - * @property {Array} events - Override which events will be delivered by the server ("active" | "inactive" | "vad" | "layers" | "updated"). - * @property {LayerInfo} layer - Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. - */ - -/** - * @typedef {Object} SignalingPublishOptions - * @property {VideoCodec} [codec="h264"] - Codec for publish stream. - * @property {Boolean} [record] - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** - * @property {String} [sourceId] - Source unique id. **Only available in Tokens with multisource enabled.*** - * @property {Array} events - Override which events will be delivered by the server ("active" | "inactive"). - */ - -/** - * @class Signaling - * @extends EventEmitter - * @classdesc Starts WebSocket connection and manages the messages between peers. - * @example const millicastSignaling = new Signaling(options) - * @constructor - * @param {Object} options - General signaling options. - * @param {String} options.streamName - Millicast stream name to get subscribed. - * @param {String} options.url - WebSocket URL to signal Millicast server and establish a WebRTC connection. - */ - export default class Signaling extends TypedEventEmitter { public streamName: string | null public wsUrl: string @@ -62,6 +28,13 @@ export default class Signaling extends TypedEventEmitter { public serverId: string | null = null public clusterId: string | null = null public streamViewId: string | null = null + + /** + * Creates a Signaling object. + * @param options Options for the signaling object. + * @param options.streamName - Millicast stream name to get subscribed. + * @param options.url - WebSocket URL to signal Millicast server and establish a WebRTC connection. + */ constructor( options: { streamName: string | null; url: string } = { streamName: null, diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index e6b42f3c..93229860 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -17,7 +17,6 @@ import { } from './drm/rtc-drm-transform.min.js' import TransformWorker from './workers/TransformWorker.worker.ts?worker&inline' import SdpParser from './utils/SdpParser' -import { TokenGeneratorCallback } from './types/Director.types' import { ViewerConnectOptions, LayerInfo, @@ -25,13 +24,12 @@ import { DRMOptions, ViewerOptions, } from './types/Viewer.types.js' -import { DRMProfile } from './types/Director.types' -import { DecodedJWT, Media } from './types/BaseWebRTC.types' +import { DecodedJWT, DRMProfile, Media, MillicastDirectorResponse } from './types/BaseWebRTC.types' import { VideoCodec } from './types/Codecs.types' -import { Director } from './Director' +import * as Urls from './urls' import { ActiveEventPayload, InactiveEventPayload, MetadataEventPayload, SEIUserUnregisteredData, ViewerEvents } from './types/events' -import TransactionManager from 'transaction-manager' import { isNotDefined } from './utils/Validators' +import Diagnostics from './utils/Diagnostics' const defaultConnectOptions: ViewerConnectOptions = { metadata: false, @@ -138,11 +136,11 @@ export class Viewer extends BaseWebRTC { private eventQueue: RTCTrackEvent[] = [] private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null private stopReemitingSignalingInstanceEvents: (() => void) | null = null - protected override options: ViewerConnectOptions | null = null + #options: ViewerOptions; + protected override options: ViewerConnectOptions | null = null; /** * Creates a Viewer object. - * * @param options Options for the viewer. */ constructor(options: ViewerOptions) { @@ -158,13 +156,9 @@ export class Viewer extends BaseWebRTC { throw new Error('The Stream Account ID is missing.'); } - const tokenGenerator: TokenGeneratorCallback = () => Director.getSubscriber({ - streamName: options.streamName, - streamAccountId: options.streamAccountId, - subscriberToken: options.subscriberToken, - }); + super(logger, options.autoReconnect ?? true); - super(tokenGenerator, logger, options.autoReconnect ?? true); + this.#options = options; } /** @@ -305,9 +299,9 @@ export class Viewer extends BaseWebRTC { this.logger.warn('Viewer currently subscribed') throw new Error('Viewer currently subscribed') } - let subscriberData + let subscriberData: MillicastDirectorResponse; try { - subscriberData = await this.tokenGenerator() + subscriberData = await this.getConnectionData() // Set the iceServers from the subscribe data into the peerConfig if (this.options?.peerConfig) { this.options.peerConfig.iceServers = subscriberData?.iceServers @@ -689,4 +683,48 @@ export class Viewer extends BaseWebRTC { this.logger.error('Failed to configure DRM with options:', sourceDRMOptions, 'error is:', error) } } + + /** + * Get subscriber connection data. + * + * @param options Millicast options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MillicastDirectorResponse} object which represents the result of getting the subscribe connection data. + */ + private async getConnectionData(): Promise { + Diagnostics.initAccountId(this.#options.streamAccountId); + this.logger.info(`Getting subscriber connection data for stream name: ${this.#options.streamName} and account id: ${this.#options.streamAccountId}`); + + const payload = { + streamAccountId: this.#options.streamAccountId, + streamName: this.#options.streamName, + }; + + const subscriberToken = this.#options.subscriberToken; + let headers: { 'Content-Type': string; Authorization?: string } = { 'Content-Type': 'application/json' }; + if (subscriberToken) { + headers = { ...headers, Authorization: `Bearer ${subscriberToken}` }; + } + const url = `${Urls.getEndpoint()}/api/director/subscribe`; + try { + const response = await fetch(url, { method: 'POST', headers, body: JSON.stringify(payload) }); + let data = await response.json(); + + if (data.status === 'fail') { + const error = new FetchError(data.data.message, response.status); + throw error; + } + + data = this.parseIncomingDirectorResponse(data); + this.logger.debug('Getting subscriber response:', data); + if (this.#options.subscriberToken) { + data.data.subscriberToken = this.#options.subscriberToken; + } + + return data.data; + } catch (e) { + this.logger.error('Error while getting subscriber connection path.', e); + throw e; + } + } } diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index c809a5ca..1cfd0560 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,10 +1,10 @@ -import Logger from './Logger' -import PeerConnection from './PeerConnection' -import Signaling from './Signaling' -export { Logger, PeerConnection, Signaling } +import Logger from './Logger'; +import PeerConnection from './PeerConnection'; +import Signaling from './Signaling'; +export { Logger, PeerConnection, Signaling }; -export * from './types/Director.types'; -export * from './Director'; +/** @hidden */ +export * as Urls from './urls'; export * from './types/events'; @@ -14,4 +14,5 @@ export * from './Viewer'; export * from './types/Publisher.types'; export * from './Publisher'; +export * from './types/BaseWebRTC.types'; export * from './utils/BaseWebRTC'; diff --git a/packages/millicast-sdk/src/types/BaseWebRTC.types.ts b/packages/millicast-sdk/src/types/BaseWebRTC.types.ts index 29fc234e..d5b6a018 100644 --- a/packages/millicast-sdk/src/types/BaseWebRTC.types.ts +++ b/packages/millicast-sdk/src/types/BaseWebRTC.types.ts @@ -1,8 +1,10 @@ export type Media = 'audio' | 'video' -export type ViewServerEvent = 'active' | 'inactive' | 'updated' | 'layers' | 'vad' | 'viewercount' +/** List of server events to subscribe to as a viewer. */ +export type ViewerServerEvent = 'active' | 'inactive' | 'updated' | 'layers' | 'vad' | 'viewercount' -export type PublishServerEvent = 'active' | 'inactive' | 'viewercount' +/** List of server events to subscribe to as a publisher. */ +export type PublisherServerEvent = 'active' | 'inactive' | 'viewercount' export type DecodedJWT = { [key: string]: { @@ -14,3 +16,32 @@ export type DecodedJWT = { export type ReconnectData = { error: Error } + +/** + * Response from the Director API. + * @hidden + */ +export type MillicastDirectorResponse = { + /** WebSocket available URLs. */ + urls: Array + /** Access token for signaling initialization. */ + jwt: string + /** Object which represents a list of Ice servers. */ + iceServers: Array; + /** Description of the DRM profile. */ + drmObject?: DRMProfile; + /** Subscriber token. */ + subscriberToken?: string; +} + +/** + * DRM profile from director API which includes the URLs of license servers + * @hidden + */ +export interface DRMProfile { + playReadyUrl?: string + widevineUrl?: string + fairPlayUrl?: string + fairPlayCertUrl?: string +} + diff --git a/packages/millicast-sdk/src/types/Director.types.ts b/packages/millicast-sdk/src/types/Director.types.ts deleted file mode 100644 index 77fc5b4e..00000000 --- a/packages/millicast-sdk/src/types/Director.types.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Response from the Director API. - * @hidden - */ -export type MillicastDirectorResponse = { - /** - * - WebSocket available URLs. - */ - urls: Array - /** - * - Access token for signaling initialization. - */ - jwt: string - /** - * - Object which represents a list of Ice servers. - */ - iceServers: Array -} - -/** - * Director Publisher Options - * @hidden - */ -export type DirectorPublisherOptions = { - /** - * - Millicast Publishing Token. - */ - token: string - /** - * - Millicast Stream Name. - */ - streamName: string -} - -/** @hidden */ -export type DirectorSubscriberOptions = { - /** - * - Millicast publisher Stream Name. - */ - streamName: string - /** - * - Millicast Account ID. - */ - streamAccountId: string - /** - * - Token to subscribe to secure streams. If you are subscribing to an unsecure stream, you can omit this param. - */ - subscriberToken?: string -} - -/** @hidden */ -export type DirectorResponse = { - urls: string[] - jwt: string - iceServers: RTCIceServer[] - drmObject?: DRMProfile - subscriberToken?: string -} - -/** - * DRM profile from director API which includes the URLs of license servers - * @hidden - */ -export interface DRMProfile { - playReadyUrl?: string - widevineUrl?: string - fairPlayUrl?: string - fairPlayCertUrl?: string -} - -/** @hidden */ -export type TokenGeneratorCallback = () => Promise diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index a2f1dbf9..245295dd 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -1,4 +1,4 @@ -import { PublishServerEvent } from './BaseWebRTC.types' +import { PublisherServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' @@ -98,7 +98,7 @@ export interface PublishConnectOptions { /** * - Specify which events will be delivered by the server (any of "active" | "inactive" | "viewercount").* */ - events?: PublishServerEvent[] + events?: PublisherServerEvent[] /** * - When multiple ingest streams are provided by the customer, add the ability to specify a priority between all ingest streams. Decimal integer between the range [-2^31, +2^31 - 1]. For more information, visit [our documentation](https://docs.dolby.io/streaming-apis/docs/backup-publishing). */ diff --git a/packages/millicast-sdk/src/types/Signaling.types.ts b/packages/millicast-sdk/src/types/Signaling.types.ts index 8f3876c0..1b624e72 100644 --- a/packages/millicast-sdk/src/types/Signaling.types.ts +++ b/packages/millicast-sdk/src/types/Signaling.types.ts @@ -1,24 +1,35 @@ -import { PublishServerEvent, ViewServerEvent } from './BaseWebRTC.types' +import { PublisherServerEvent, ViewerServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { LayerInfo } from './Viewer.types' +/** */ export type SignalingSubscribeOptions = { - vad?: boolean - pinnedSourceId?: string | null - excludedSourceIds?: string[] | null - events?: ViewServerEvent[] - layer?: LayerInfo - forcePlayoutDelay?: { min: number; max: number } - disableVideo?: boolean - disableAudio?: boolean, - forceSmooth?: boolean + /** Enable VAD multiplexing for secondary sources. */ + vad?: boolean; + /** Id of the main source that will be received by the default MediaStream. */ + pinnedSourceId?: string | null; + /** Do not receive media from the these source ids. */ + excludedSourceIds?: string[] | null; + /** Override which events will be delivered by the server ("active" | "inactive" | "vad" | "layers" | "updated"). */ + events?: ViewerServerEvent[]; + /** Select the simulcast encoding layer and svc layers for the main video track, leave empty for automatic layer selection based on bandwidth estimation. */ + layer?: LayerInfo; + forcePlayoutDelay?: { min: number; max: number }; + disableVideo?: boolean; + disableAudio?: boolean; + forceSmooth?: boolean; } +/** */ export type SignalingPublishOptions = { - codec: VideoCodec - record?: boolean | null - sourceId?: string | null - events?: PublishServerEvent[] + /** Codec for publish stream. */ + codec: VideoCodec; + /** Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** */ + record?: boolean | null; + /** Source unique id. **Only available in Tokens with multisource enabled.*** */ + sourceId?: string | null; + /** Override which events will be delivered by the server ("active" | "inactive"). */ + events?: PublisherServerEvent[]; intraOnlyForwarding?: boolean priority?: number simulcastId?: string diff --git a/packages/millicast-sdk/src/types/Viewer.types.ts b/packages/millicast-sdk/src/types/Viewer.types.ts index a4a31069..b02def1a 100644 --- a/packages/millicast-sdk/src/types/Viewer.types.ts +++ b/packages/millicast-sdk/src/types/Viewer.types.ts @@ -1,4 +1,4 @@ -import { Media, ViewServerEvent } from './BaseWebRTC.types' +import { Media, ViewerServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' @@ -68,7 +68,7 @@ export interface ViewerConnectOptions { /** * - Override which events will be delivered by the server (any of "active" | "inactive" | "vad" | "layers" | "viewercount" | "updated").* */ - events?: ViewServerEvent[] + events?: ViewerServerEvent[] /** * - Options to configure the new RTCPeerConnection. */ diff --git a/packages/millicast-sdk/src/urls.ts b/packages/millicast-sdk/src/urls.ts new file mode 100644 index 00000000..ad0908ed --- /dev/null +++ b/packages/millicast-sdk/src/urls.ts @@ -0,0 +1,47 @@ +const DEFAULT_API_ENDPOINT: string = 'https://director.millicast.com'; + +const urls = { + apiEndpoint: DEFAULT_API_ENDPOINT, + liveWebsocketDomain: '', +} + +/** + * Sets the Director API endpoint where requests will be sent. + * + * @param url New Director API endpoint + */ +export const setEndpoint = (url: string): void => { + urls.apiEndpoint = url.replace(/\/$/, ''); +} + +/** + * Gets the current Director API endpoint where requests will be sent. + * + * @returns API base url. + * + * @defaultValue `https://director.millicast.com` + */ +export const getEndpoint = (): string => { + return urls.apiEndpoint; +} + +/** + * Sets the Websocket Live domain from Director API response. + * If it is set to empty, it will not parse the response. + * + * @param domain New Websocket Live domain + */ +export const setLiveDomain = (domain: string): void => { + urls.liveWebsocketDomain = domain.replace(/\/$/, ''); +} + +/** + * Gets the current Websocket Live domain. + * + * @returns Websocket Live domain + * + * @defaultValue Empty which corresponds to not parse the Director response. + */ +export const getLiveDomain = (): string => { + return urls.liveWebsocketDomain; +} diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 582c1746..64b7c6e7 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -2,13 +2,13 @@ import Logger from '../Logger' import PeerConnection from '../PeerConnection' import Signaling from '../Signaling' import Diagnostics from './Diagnostics' -import { TokenGeneratorCallback } from '../types/Director.types' import { ILogger } from 'js-logger' -import { ReconnectData } from '../types/BaseWebRTC.types' +import { MillicastDirectorResponse, ReconnectData } from '../types/BaseWebRTC.types' import { PublishConnectOptions } from '../types/Publisher.types' import { ViewerConnectOptions } from '../types/Viewer.types' import { BaseWebRTCEvents } from '../types/events'; import { TypedEventEmitter } from './TypedEventEmitter' +import * as Urls from '../urls' const maxReconnectionInterval = 32000 const baseInterval = 1000 @@ -29,28 +29,21 @@ export class BaseWebRTC extends TypedEventEmit private firstReconnection: boolean protected stopReconnection: boolean #isReconnecting: boolean - protected tokenGenerator: TokenGeneratorCallback protected options: ViewerConnectOptions | PublishConnectOptions | null protected logger: ILogger; /** * Creates a BaseWebRTC object. * - * @param tokenGenerator Callback function executed when a new token is needed. * @param loggerInstance Logger instance from the extended classes. * @param autoReconnect Enable auto reconnect. */ - constructor(tokenGenerator: TokenGeneratorCallback, loggerInstance: ILogger, autoReconnect: boolean) { + constructor(loggerInstance: ILogger, autoReconnect: boolean) { super() this.logger = loggerInstance ?? Logger.get('BaseWebRTC'); this.logger.setLevel(Logger.DEBUG); - if (!tokenGenerator) { - this.logger.error('Token generator is required to construct this module.') - throw new Error('Token generator is required to construct this module.') - } - this.webRTCPeer = new PeerConnection() this.signaling = null this.autoReconnect = autoReconnect @@ -59,7 +52,6 @@ export class BaseWebRTC extends TypedEventEmit this.firstReconnection = true this.stopReconnection = false this.#isReconnecting = false - this.tokenGenerator = tokenGenerator this.options = null } @@ -173,4 +165,43 @@ export class BaseWebRTC extends TypedEventEmit async connect(_options: unknown): Promise { /* tslint:disable:no-empty */ } + + /** @ignore */ + protected parseIncomingDirectorResponse = (directorResponse: { data: MillicastDirectorResponse }) => { + if (Urls.getLiveDomain()) { + const domainRegex = /\/\/(.*?)\// + const urlsParsed = directorResponse.data.urls.map((url) => { + const matched = domainRegex.exec(url) + if (!matched) { + this.logger.warn('Unable to parse incoming director response') + return url + } + return url.replace(matched[1], Urls.getLiveDomain()) + }) + directorResponse.data.urls = urlsParsed + } + + // TODO: remove this when server returns full path of DRM license server URLs + if (directorResponse.data.drmObject) { + const playReadyUrl = directorResponse.data.drmObject.playReadyUrl + if (playReadyUrl) { + directorResponse.data.drmObject.playReadyUrl = `${Urls.getEndpoint()}${playReadyUrl}` + } + const widevineUrl = directorResponse.data.drmObject.widevineUrl + if (widevineUrl) { + directorResponse.data.drmObject.widevineUrl = `${Urls.getEndpoint()}${widevineUrl}` + } + const fairPlayUrl = directorResponse.data.drmObject.fairPlayUrl + if (fairPlayUrl) { + directorResponse.data.drmObject.fairPlayUrl = `${Urls.getEndpoint()}${fairPlayUrl}` + } + const fairPlayCertUrl = directorResponse.data.drmObject.fairPlayCertUrl + if (fairPlayCertUrl) { + directorResponse.data.drmObject.fairPlayCertUrl = `${Urls.getEndpoint()}${fairPlayCertUrl}` + } + } + + return directorResponse; + } + } diff --git a/packages/millicast-sdk/tests/e2e/PublishTest.js b/packages/millicast-sdk/tests/e2e/PublishTest.js index 7adf615a..bc1b75f6 100644 --- a/packages/millicast-sdk/tests/e2e/PublishTest.js +++ b/packages/millicast-sdk/tests/e2e/PublishTest.js @@ -6,7 +6,7 @@ const publishToken = window.token class MillicastPublishTest { constructor() { millicast.Logger.setLevel(millicast.Logger.DEBUG); - millicast.Director.endpoint = window.directorEndpoint; + millicast.Urls.setEndpoint(window.directorEndpoint); const options = { publishToken, streamName }; this.millicastPublish = new millicast.Publisher(options); diff --git a/packages/millicast-sdk/tests/e2e/ViewTest.js b/packages/millicast-sdk/tests/e2e/ViewTest.js index 0081109a..b04062a4 100644 --- a/packages/millicast-sdk/tests/e2e/ViewTest.js +++ b/packages/millicast-sdk/tests/e2e/ViewTest.js @@ -6,7 +6,7 @@ const streamName = window.streamName class MillicastViewTest { constructor() { millicast.Logger.setLevel(millicast.Logger.DEBUG) - millicast.Director.endpoint = window.directorEndpoint + millicast.Urls.setEndpoint(window.directorEndpoint); const href = new URL(window.location.href) this.streamAccountId = href.searchParams.get('streamAccountId') ? href.searchParams.get('streamAccountId') diff --git a/packages/millicast-sdk/tests/features/GetSubscriberConnectionPath.feature b/packages/millicast-sdk/tests/features/GetSubscriberConnectionPath.feature index a3d7bfad..996f7fc3 100644 --- a/packages/millicast-sdk/tests/features/GetSubscriberConnectionPath.feature +++ b/packages/millicast-sdk/tests/features/GetSubscriberConnectionPath.feature @@ -5,11 +5,6 @@ Feature: As a user I want to subscribe to a Millicast Stream so I can get a conn When I request a connection path to Director API Then I get the subscriber connection path - Scenario: Subscribe to an existing restricted stream and valid token - Given I have an existing stream name and valid token - When I request a connection path to Director API - Then I get the subscriber connection path - Scenario: Subscribe to an existing unrestricted stream, invalid accountId and no token Given I have an existing stream name, invalid accountId and no token When I request a connection path to Director API diff --git a/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js b/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js index 5ae5356e..b7514cb5 100644 --- a/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js +++ b/packages/millicast-sdk/tests/unit/BaseWebRTC.steps.js @@ -14,7 +14,7 @@ defineFeature(feature, (test) => { let peer = null given('I have a BaseWebRTC instanced and existing peer', async () => { - baseWebRTC = new BaseWebRTC(() => {}, null, false) + baseWebRTC = new BaseWebRTC(null, false) await baseWebRTC.webRTCPeer.createRTCPeer() }) @@ -32,7 +32,7 @@ defineFeature(feature, (test) => { let peer = null given('I have a BaseWebRTC instanced and no existing peer', async () => { - baseWebRTC = new BaseWebRTC(() => {}, null, false) + baseWebRTC = new BaseWebRTC(null, false) baseWebRTC.webRTCPeer = null }) diff --git a/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js b/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js index 18b7dbe0..f46ae83d 100644 --- a/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js +++ b/packages/millicast-sdk/tests/unit/GetPublisherConnectionPath.steps.js @@ -1,6 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { mockFetchJsonReturnValue, mockFetchRejectValue } from './__mocks__/Fetch' -import { Director } from '../../src/Director' +import { Publisher } from '../../src/Publisher' +import * as Urls from '../../src/urls' const feature = loadFeature('../features/GetPublisherConnectionPath.feature', { loadRelativePath: true, errors: true, @@ -11,11 +12,11 @@ const dummyToken = defineFeature(feature, (test) => { beforeEach(() => { - Director.liveDomain = '' + Urls.setLiveDomain(''); }) test('Publish with an existing stream name and valid token', ({ given, when, then }) => { - let token + let publishToken let streamName let response const mockedResponse = { @@ -28,14 +29,15 @@ defineFeature(feature, (test) => { }, } given('I have a valid token and an existing stream name', async () => { - token = 'Valid_token' + publishToken = 'Valid_token' streamName = 'Existing_stream_name' }) when('I request a connection path to Director API', async () => { mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { token, streamName } - response = await Director.getPublisher(options) + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + response = await publisher.getConnectionData(options); }) then('I get the publish connection path', async () => { @@ -45,7 +47,7 @@ defineFeature(feature, (test) => { }) test('Publish with an unexisting stream name and valid token', ({ given, when, then }) => { - let token + let publishToken let streamName let responseError const mockedResponse = { @@ -59,15 +61,16 @@ defineFeature(feature, (test) => { }, } given('I have a valid token and an unexisting stream name', async () => { - token = 'Valid_token' + publishToken = 'Valid_token' streamName = 'Unexisting_stream_name' }) when('I request a connection path to Director API', async () => { mockFetchRejectValue(mockedResponse) try { - const options = { token, streamName } - responseError = await Director.getPublisher(options) + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + responseError = await publisher.getConnectionData(options); } catch (error) { responseError = error } @@ -80,7 +83,7 @@ defineFeature(feature, (test) => { }) test('Publish with an existing stream name and invalid token', ({ given, when, then }) => { - let token + let publishToken let streamName let responseError const mockedResponse = { @@ -94,15 +97,16 @@ defineFeature(feature, (test) => { }, } given('I have an invalid token and an existing stream name', async () => { - token = 'Invalid_token' + publishToken = 'Invalid_token' streamName = 'Existing_stream_name' }) when('I request a connection path to Director API', async () => { mockFetchRejectValue(mockedResponse) try { - const options = { token, streamName } - responseError = await Director.getPublisher(options) + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + responseError = await publisher.getConnectionData(options); } catch (error) { responseError = error } @@ -119,7 +123,7 @@ defineFeature(feature, (test) => { when, then, }) => { - let token + let publishToken let streamName let response const mockedResponse = { @@ -132,15 +136,16 @@ defineFeature(feature, (test) => { }, } given('I have a valid token and an existing stream name', async () => { - token = 'Valid_token' + publishToken = 'Valid_token' streamName = 'Existing_stream_name' - Director.endpoint = 'https://director-dev.millicast.com' + Urls.setEndpoint('https://director-dev.millicast.com'); }) when('I request a connection path to Director API', async () => { - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { token, streamName } - response = await Director.getPublisher(options) + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + response = await publisher.getConnectionData(options); }) then('I get the publish connection path', async () => { @@ -154,7 +159,7 @@ defineFeature(feature, (test) => { }) test('Publish with an existing stream name, valid token and options as object', ({ given, when, then }) => { - let token + let publishToken let streamName let response const mockedResponse = { @@ -167,14 +172,15 @@ defineFeature(feature, (test) => { }, } given('I have a valid token and an existing stream name', async () => { - token = 'Valid_token' + publishToken = 'Valid_token' streamName = 'Existing_stream_name' }) when('I request a connection path to Director API using options object', async () => { - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { token, streamName } - response = await Director.getPublisher(options) + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + response = await publisher.getConnectionData(options); }) then('I get the publish connection path', async () => { @@ -188,7 +194,7 @@ defineFeature(feature, (test) => { when, then, }) => { - let token + let publishToken let streamName let response const mockedResponse = { @@ -201,15 +207,16 @@ defineFeature(feature, (test) => { }, } given('I have a valid token and an existing stream name', async () => { - token = 'Valid_token' + publishToken = 'Valid_token' streamName = 'Existing_stream_name' }) when('I set a custom live websocket domain and I request a connection path to Director API', async () => { - Director.liveDomain = 'dolby.com' - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { token, streamName } - response = await Director.getPublisher(options) + Urls.setLiveDomain('dolby.com'); + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); + const options = { publishToken, streamName }; + const publisher = new Publisher(options); + response = await publisher.getConnectionData(options); }) then('I get the publish connection path', async () => { diff --git a/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js b/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js index 6f111a89..6027ea33 100644 --- a/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js +++ b/packages/millicast-sdk/tests/unit/GetSubscriberConnectionPath.steps.js @@ -1,6 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { mockFetchJsonReturnValue, mockFetchRejectValue } from './__mocks__/Fetch' -import { Director } from '../../src/Director' +import { Viewer } from '../../src/Viewer' +import * as Urls from '../../src/urls' const feature = loadFeature('../features/GetSubscriberConnectionPath.feature', { loadRelativePath: true, errors: true, @@ -12,7 +13,7 @@ const dummyToken = defineFeature(feature, (test) => { beforeEach(() => { fetch.mockClear() - Director.liveDomain = ''; + Urls.setLiveDomain(''); }) test('Subscribe to an existing unrestricted stream, valid accountId and no token', ({ @@ -37,38 +38,11 @@ defineFeature(feature, (test) => { }) when('I request a connection path to Director API', async () => { - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { streamName, streamAccountId: accountId } - response = await Director.getSubscriber(options) - }) + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); - then('I get the subscriber connection path', async () => { - expect(response).toBeDefined() - expect(response).toEqual(expect.objectContaining(mockedResponse.data)) - }) - }) - - test('Subscribe to an existing restricted stream and valid token', ({ given, when, then }) => { - let token - let streamName - let response - const mockedResponse = { - data: { - wsUrl: 'wss://live-west.millicast.com/ws/v2/sub/12345', - urls: ['wss://live-west.millicast.com/ws/v2/sub/12345'], - jwt: dummyToken, - streamAccountId: 'Existing_accountId', - }, - } - given('I have an existing stream name and valid token', async () => { - token = 'Valid_token' - streamName = 'Existing_stream_name' - }) - - when('I request a connection path to Director API', async () => { - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { streamName, streamAccountId: null, subscriberToken: token } - response = await Director.getSubscriber(options) + const options = { streamName, streamAccountId: accountId }; + const viewer = new Viewer(options); + response = await viewer.getConnectionData(options); }) then('I get the subscriber connection path', async () => { @@ -104,8 +78,9 @@ defineFeature(feature, (test) => { when('I request a connection path to Director API', async () => { mockFetchRejectValue(mockedResponse) try { - const options = { streamName, streamAccountId: accountId } - responseError = await Director.getSubscriber(options) + const options = { streamName, streamAccountId: accountId }; + const viewer = new Viewer(options); + responseError = await viewer.getConnectionData(options); } catch (error) { responseError = error } @@ -130,15 +105,16 @@ defineFeature(feature, (test) => { }, } given('I have an existing stream name, accountId and no token', async () => { - accountId = 'Existing_accountId' - streamName = 'Existing_stream_name' - Director.endpoint = 'https://director-dev.millicast.com' + accountId = 'Existing_accountId'; + streamName = 'Existing_stream_name'; + Urls.setEndpoint('https://director-dev.millicast.com'); }) when('I request a connection path to Director API', async () => { - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { streamName, streamAccountId: accountId } - response = await Director.getSubscriber(options) + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); + const options = { streamName, streamAccountId: accountId }; + const viewer = new Viewer(options); + response = await viewer.getConnectionData(options); }) then('I get the subscriber connection path', async () => { @@ -174,8 +150,9 @@ defineFeature(feature, (test) => { when('I request a connection path to Director API using options object', async () => { mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { streamName, streamAccountId: accountId } - response = await Director.getSubscriber(options) + const options = { streamName, streamAccountId: accountId }; + const viewer = new Viewer(options); + response = await viewer.getConnectionData(options); }) then('I get the subscriber connection path', async () => { @@ -206,10 +183,11 @@ defineFeature(feature, (test) => { }) when('I set a custom live websocket domain and I request a connection path to Director API', async () => { - Director.liveDomain = 'dolby.com' - mockFetchJsonReturnValue(Promise.resolve(mockedResponse)) - const options = { streamName, streamAccountId: accountId } - response = await Director.getSubscriber(options) + Urls.setLiveDomain('dolby.com'); + mockFetchJsonReturnValue(Promise.resolve(mockedResponse)); + const options = { streamName, streamAccountId: accountId }; + const viewer = new Viewer(options); + response = await viewer.getConnectionData(options); }) then('I get the subscriber connection path', async () => { diff --git a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js index 50ebe2ff..891361ce 100644 --- a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js @@ -68,7 +68,7 @@ defineFeature(feature, (test) => { given('connection has failed', () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}); - jest.spyOn(viewer, "tokenGenerator").mockImplementation(() => null); + jest.spyOn(viewer, "getConnectionData").mockImplementation(() => null); expectedError = expect(() => viewer.connect()) expectedError.rejects.toThrow(Error) @@ -89,7 +89,7 @@ defineFeature(feature, (test) => { given('connection to a stream', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockViewerTokenGenerator); await viewer.connect() expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) @@ -109,7 +109,7 @@ defineFeature(feature, (test) => { given('connection to a stream and stats enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockViewerTokenGenerator); await viewer.connect() expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') viewer.webRTCPeer.initStats() @@ -135,7 +135,7 @@ defineFeature(feature, (test) => { changeBrowserMock('Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0') viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockViewerTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockViewerTokenGenerator); await viewer.connect() expect(viewer.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) @@ -156,7 +156,7 @@ defineFeature(feature, (test) => { given('a stream being published', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockPublishTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockPublishTokenGenerator); await publisher.connect({ mediaStream }) expect(publisher.webRTCPeer.getRTCPeerStatus()).toEqual('connected') }) @@ -179,7 +179,7 @@ defineFeature(feature, (test) => { given('a stream cannot be published', () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) const mockErrorTokenGenerator = () => Promise.resolve(null) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockErrorTokenGenerator); expectedError = expect(async () => await publisher.connect({ mediaStream })) expectedError.rejects.toThrow(Error) diff --git a/packages/millicast-sdk/tests/unit/Publisher.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js index bcb4764d..5c08f780 100644 --- a/packages/millicast-sdk/tests/unit/Publisher.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -65,7 +65,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with connection path', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream with media stream', async () => { @@ -83,7 +83,7 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream without options', async () => { @@ -105,7 +105,7 @@ defineFeature(feature, (test) => { when('I instance a Publish with token generator without connection path', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) const mockErrorTokenGenerator = () => Promise.resolve(null); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockErrorTokenGenerator); expectError = expect(() => publisher.connect({ mediaStream })) }) @@ -121,7 +121,7 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream without a mediaStream', async () => { @@ -141,7 +141,7 @@ defineFeature(feature, (test) => { given('an instance of Publish already connected', async () => { jest.spyOn(Signaling.prototype, 'publish').mockReturnValue('sdp') publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) @@ -161,7 +161,7 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { jest.spyOn(PeerConnection.prototype, 'updateBandwidthRestriction').mockImplementation(jest.fn) publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream with bandwidth restriction', async () => { @@ -179,7 +179,7 @@ defineFeature(feature, (test) => { test('Stop publish', ({ given, when, then }) => { const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); let signaling given('I am publishing a stream', async () => { @@ -201,7 +201,7 @@ defineFeature(feature, (test) => { test('Stop inactive publish', ({ given, when, then }) => { const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); given('I am not publishing a stream', () => null) @@ -217,7 +217,7 @@ defineFeature(feature, (test) => { test('Check status of active publish', ({ given, when, then }) => { const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); let result given('I am publishing a stream', async () => { @@ -236,7 +236,7 @@ defineFeature(feature, (test) => { test('Check status of inactive publish', ({ given, when, then }) => { const publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); let result given('I am not publishing a stream', () => null) @@ -259,7 +259,7 @@ defineFeature(feature, (test) => { const errorTokenGenerator = jest.fn(() => { throw new Error('Error getting token') }) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(errorTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(errorTokenGenerator); }) when('I broadcast a stream', async () => { @@ -282,7 +282,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with valid token generator with no recording available', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I broadcast a stream', async () => { @@ -301,7 +301,7 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(PeerConnection, 'getCapabilities').mockReturnValue({ codecs: [ { codec: 'vp8', mimeType: 'video/VP8' }, @@ -326,7 +326,7 @@ defineFeature(feature, (test) => { given('an instance of Publish', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b'}) - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(PeerConnection, 'getCapabilities').mockReturnValue({ codecs: [ { codec: 'vp8', mimeType: 'video/VP8' }, diff --git a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js index 1d85f3ff..8f476770 100644 --- a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js @@ -60,7 +60,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) @@ -78,7 +78,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) @@ -97,7 +97,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) @@ -120,7 +120,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(() => { publisher.firstReconnection = false publisher.alreadyDisconnected = true @@ -144,7 +144,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection disabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: false}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) @@ -163,7 +163,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(publisher, 'reconnect').mockImplementation(jest.fn) await publisher.connect({ mediaStream }) }) @@ -187,7 +187,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled and peer with error', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); publisher.on('reconnect', reconnectHandler) await publisher.connect({ mediaStream }) publisher.webRTCPeer.peer.connectionState = 'failed' @@ -230,7 +230,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) @@ -249,7 +249,7 @@ defineFeature(feature, (test) => { given('an instance of Publish with reconnection enabled', async () => { publisher = new Publisher({streamName: 'a', publishToken: 'b', autoReconnect: true}); - jest.spyOn(publisher, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(publisher, "getConnectionData").mockImplementation(mockTokenGenerator); await publisher.connect({ mediaStream }) }) diff --git a/packages/millicast-sdk/tests/unit/Viewer.steps.js b/packages/millicast-sdk/tests/unit/Viewer.steps.js index 2983fab8..95325feb 100644 --- a/packages/millicast-sdk/tests/unit/Viewer.steps.js +++ b/packages/millicast-sdk/tests/unit/Viewer.steps.js @@ -70,7 +70,7 @@ defineFeature(feature, (test) => { given('an instance of View', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); }) when('I subscribe to a stream with a connection path', async () => { @@ -91,7 +91,7 @@ defineFeature(feature, (test) => { when('I instance a View with a token generator without connection path', async () => { viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) const mockErrorTokenGenerator = () => Promise.resolve(null); - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockErrorTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockErrorTokenGenerator); expectError = expect(async () => await viewer.connect()) }) @@ -108,7 +108,7 @@ defineFeature(feature, (test) => { given('an instance of View already connected', async () => { viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); await viewer.connect() }) @@ -124,7 +124,7 @@ defineFeature(feature, (test) => { test('Stop subscription', ({ given, when, then }) => { const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); let signaling given('I am subscribed to a stream', async () => { @@ -145,7 +145,7 @@ defineFeature(feature, (test) => { test('Stop inactive subscription', ({ given, when, then }) => { const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); given('I am not connected to a stream', () => null) @@ -161,7 +161,7 @@ defineFeature(feature, (test) => { test('Check status of active subscription', ({ given, when, then }) => { const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); let result given('I am subscribed to a stream', async () => { @@ -179,7 +179,7 @@ defineFeature(feature, (test) => { test('Check status of inactive subscription', ({ given, when, then }) => { const viewer = new Viewer({streamName: 'streamName', streamAccountId: 'streamAccountId'}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); let result given('I am not subscribed to a stream', () => null) @@ -202,7 +202,7 @@ defineFeature(feature, (test) => { const errorTokenGenerator = jest.fn(() => { throw new Error('Error getting token') }) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(errorTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(errorTokenGenerator); }) when('I subscribe to a stream', async () => { diff --git a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js index cfb4e634..d9ec38b0 100644 --- a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js @@ -64,7 +64,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) @@ -83,7 +83,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) @@ -102,7 +102,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) @@ -125,7 +125,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(() => { viewer.firstReconnection = false; viewer.alreadyDisconnected = true; @@ -149,7 +149,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection disabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: false}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) @@ -168,7 +168,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); jest.spyOn(viewer, 'reconnect').mockImplementation(jest.fn) await viewer.connect() }) @@ -192,7 +192,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled and peer with error', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); viewer.on('reconnect', reconnectHandler) await viewer.connect() viewer.webRTCPeer.peer.connectionState = 'failed' @@ -236,7 +236,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); await viewer.connect() }) @@ -255,7 +255,7 @@ defineFeature(feature, (test) => { given('an instance of Viewer with reconnection enabled', async () => { viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) - jest.spyOn(viewer, "tokenGenerator").mockImplementation(mockTokenGenerator); + jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); await viewer.connect() }) From 500be007df1be67e33b01f8065ab8afb9aad6ebd Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 1 Jul 2025 09:11:30 +0200 Subject: [PATCH 04/22] Clean up Signaling Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/src/PeerConnection.ts | 6 +- packages/millicast-sdk/src/Publisher.ts | 2 +- packages/millicast-sdk/src/Signaling.ts | 239 +++++++++--------- packages/millicast-sdk/src/Viewer.ts | 33 +-- packages/millicast-sdk/src/index.ts | 6 +- .../src/types/Publisher.types.ts | 3 +- .../src/types/Signaling.types.ts | 18 +- packages/millicast-sdk/src/types/events.ts | 13 +- .../millicast-sdk/src/utils/BaseWebRTC.ts | 8 +- .../tests/unit/LoggerDiagnose.steps.js | 2 +- .../tests/unit/ManageSignaling.steps.js | 2 +- .../tests/unit/OfferPublishingStream.steps.js | 2 +- .../unit/OfferSubscribingStream.steps.js | 2 +- .../tests/unit/Publisher.steps.js | 2 +- .../tests/unit/PublisherReconnect.steps.js | 12 +- .../millicast-sdk/tests/unit/Viewer.steps.js | 2 +- .../tests/unit/ViewerReconnect.steps.js | 14 +- 17 files changed, 186 insertions(+), 180 deletions(-) diff --git a/packages/millicast-sdk/src/PeerConnection.ts b/packages/millicast-sdk/src/PeerConnection.ts index aa44f1c1..2f93e8c2 100644 --- a/packages/millicast-sdk/src/PeerConnection.ts +++ b/packages/millicast-sdk/src/PeerConnection.ts @@ -1,4 +1,3 @@ -import EventEmitter from 'events' import reemit from 're-emitter' import PeerConnectionStats, { peerConnectionStatsEvents } from './PeerConnectionStats' import SdpParser from './utils/SdpParser' @@ -31,11 +30,8 @@ const localSDPOptions = { } /** - * @class PeerConnection - * @extends EventEmitter - * @classdesc Manages WebRTC connection and SDP information between peers. + * Manages WebRTC connection and SDP information between peers. * @example const peerConnection = new PeerConnection() - * @constructor */ export default class PeerConnection extends TypedEventEmitter { public mode: 'Publisher' | 'Viewer' | null diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index cdb18618..3d7258d8 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -3,7 +3,7 @@ import reemit from 're-emitter' import { atob } from 'js-base64' import Logger from './Logger' import { BaseWebRTC } from './utils/BaseWebRTC' -import Signaling from './Signaling' +import { Signaling } from './Signaling' import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs' import PeerConnection, { ConnectionType } from './PeerConnection' import * as Urls from './urls' diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index 35c26f03..fed0ee94 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -1,3 +1,4 @@ +import { ILogger } from 'js-logger' import TransactionManager from 'transaction-manager' import Logger from './Logger' import SdpParser from './utils/SdpParser' @@ -5,6 +6,7 @@ import PeerConnection from './PeerConnection' import Diagnostics from './utils/Diagnostics' import { PublishCmd, + SignalingOptions, SignalingPublishOptions, SignalingSubscribeOptions, ViewCmd, @@ -15,76 +17,70 @@ import { VideoCodec } from './types/Codecs.types' import { TypedEventEmitter } from './utils/TypedEventEmitter' import { ActiveEventPayload, InactiveEventPayload, LayersEventPayload, SignalingEvents } from './types/events' -const logger = Logger.get('Signaling') - /** * Starts WebSocket connection and manages the messages between peers. */ -export default class Signaling extends TypedEventEmitter { - public streamName: string | null - public wsUrl: string - public webSocket: WebSocket | null = null - public transactionManager: TransactionManager | null = null - public serverId: string | null = null - public clusterId: string | null = null - public streamViewId: string | null = null +export class Signaling extends TypedEventEmitter { + #logger: ILogger; + #streamName: string | null; + #wsUrl: string; + #transactionManager: TransactionManager | null = null; + #serverId: string | null = null; + #clusterId: string | null = null; + #streamViewId: string | null = null; + + public webSocket: WebSocket | null = null; /** * Creates a Signaling object. * @param options Options for the signaling object. - * @param options.streamName - Millicast stream name to get subscribed. - * @param options.url - WebSocket URL to signal Millicast server and establish a WebRTC connection. */ constructor( - options: { streamName: string | null; url: string } = { + options: SignalingOptions = { streamName: null, url: 'ws://localhost:8080/', } ) { super() - this.streamName = options.streamName - this.wsUrl = options.url + + this.#logger = Logger.get('Signaling'); + this.#logger.setLevel(Logger.DEBUG); + + this.#streamName = options.streamName; + this.#wsUrl = options.url; } /** * Starts a WebSocket connection with signaling server. - * @example const response = await millicastSignaling.connect() - * @returns {Promise} Promise object which represents the [WebSocket object]{@link https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API} of the establshed connection. - * @fires Signaling#wsConnectionSuccess - * @fires Signaling#wsConnectionError - * @fires Signaling#wsConnectionClose - * @fires Signaling#broadcastEvent + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) object of the established connection. + * + * @example const response = await signaling.connect(); */ - async connect(): Promise { - logger.info('Connecting to Signaling Server') - if (this.transactionManager && this.webSocket?.readyState === WebSocket.OPEN) { - logger.info('Connected to server: ', this.webSocket.url) - logger.debug('WebSocket value: ', { + public async connect(): Promise { + this.#logger.info('Connecting to Signaling Server') + if (this.#transactionManager && this.webSocket?.readyState === WebSocket.OPEN) { + this.#logger.info('Connected to server: ', this.webSocket.url); + this.#logger.debug('WebSocket value: ', { url: this.webSocket.url, protocol: this.webSocket.protocol, readyState: this.webSocket.readyState, binaryType: this.webSocket.binaryType, extensions: this.webSocket.extensions, - }) - /** - * WebSocket connection was successfully established with signaling server. - * - * @event Signaling#wsConnectionSuccess - * @type {Object} - * @property {WebSocket} ws - WebSocket object which represents active connection. - * @property {TransactionManager} tm - [TransactionManager](https://github.com/medooze/transaction-manager) object that simplify WebSocket commands. - */ - this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.transactionManager }) - return this.webSocket + }); + + this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.#transactionManager }); + return this.webSocket; } return new Promise((resolve, reject) => { - this.webSocket = new WebSocket(this.wsUrl) - this.transactionManager = new TransactionManager(this.webSocket) + this.webSocket = new WebSocket(this.#wsUrl); + this.#transactionManager = new TransactionManager(this.webSocket); + this.webSocket.onopen = () => { - logger.info('WebSocket opened') - this.transactionManager && - this.transactionManager.on('event', (evt: TransactionManager.Event) => { + this.#logger.info('WebSocket opened') + this.#transactionManager && + this.#transactionManager.on('event', (evt: TransactionManager.Event) => { const data: any = evt.data; switch (evt.name) { case 'active': @@ -125,69 +121,63 @@ export default class Signaling extends TypedEventEmitter { default: break } - logger.info('The following event was not properly understood', evt); + this.#logger.info('The following event was not properly understood', evt); }); if (this.webSocket) { - logger.info('Connected to server: ', this.webSocket.url) - logger.debug('WebSocket value: ', { + this.#logger.info('Connected to server: ', this.webSocket.url) + this.#logger.debug('WebSocket value: ', { url: this.webSocket.url, protocol: this.webSocket.protocol, readyState: this.webSocket.readyState, binaryType: this.webSocket.binaryType, extensions: this.webSocket.extensions, }) - this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.transactionManager }) + this.emit('wsConnectionSuccess', { ws: this.webSocket, tm: this.#transactionManager }) resolve(this.webSocket) } - } + }; + this.webSocket.onerror = () => { if (this.webSocket) { - logger.error('WebSocket not connected: ', this.webSocket.url) - /** - * WebSocket connection failed with signaling server. - * Returns url of WebSocket - * - * @event Signaling#wsConnectionError - * @type {String} - */ + this.#logger.error('WebSocket not connected:', this.webSocket.url) this.emit('wsConnectionError', this.webSocket.url) - reject(this.webSocket.url) + reject({url: this.webSocket.url}) } - } + }; + this.webSocket.onclose = () => { this.webSocket = null - this.transactionManager = null - logger.info('Connection closed with Signaling Server.') - /** - * WebSocket connection with signaling server was successfully closed. - * - * @event Signaling#wsConnectionClose - */ + this.#transactionManager = null + this.#logger.info('Connection closed with Signaling Server.') this.emit('wsConnectionClose') - } - }) + }; + }); } /** - * Close WebSocket connection with Millicast server. - * @example millicastSignaling.close() + * Closes the WebSocket connection with the server. + * + * @example signaling.close(); */ - close() { - logger.info('Closing connection with Signaling Server.') - this.webSocket?.close() + public close() { + this.#logger.info('Closing connection with Signaling Server.'); + this.webSocket?.close(); } /** - * Establish WebRTC connection with Millicast Server as Subscriber role. - * @param {String} sdp - The SDP information created by your offer. - * @param {SignalingSubscribeOptions} options - Signaling Subscribe Options. - * @example const response = await millicastSignaling.subscribe(sdp) - * @return {Promise} Promise object which represents the SDP command response. + * Establishes a WebRTC connection with the Server as Subscriber role. + * + * @param sdp The SDP information created by your offer. + * @param options Signaling Subscribe Options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a string which represents the SDP command response. + * + * @example const response = await signaling.subscribe(sdp); */ - async subscribe(sdp = '', options: SignalingSubscribeOptions = {}): Promise { - logger.info('Starting subscription to streamName: ', this.streamName) - logger.debug('Subcription local description: ', sdp) + public async subscribe(sdp: string = '', options: SignalingSubscribeOptions = {}): Promise { + this.#logger.info('Starting subscription to streamName: ', this.#streamName) + this.#logger.debug('Subcription local description: ', sdp) // Signaling server only recognizes 'AV1' and not 'AV1X' sdp = SdpParser.adaptCodecName(sdp, 'AV1X', VideoCodec.AV1) @@ -225,9 +215,9 @@ export default class Signaling extends TypedEventEmitter { throw new Error('Not attempting to connect as video and audio are disabled') } await this.connect() - if (this.transactionManager) { - logger.info('Sending view command') - const result = (await this.transactionManager.cmd('view', data)) as ViewResponse + if (this.#transactionManager) { + this.#logger.info('Sending view command') + const result = (await this.#transactionManager.cmd('view', data)) as ViewResponse // Check if browser supports AV1X const AV1X = RTCRtpReceiver.getCapabilities?.('video')?.codecs?.find?.( @@ -236,48 +226,53 @@ export default class Signaling extends TypedEventEmitter { // Signaling server returns 'AV1'. If browser supports AV1X, we change it to AV1X result.sdp = AV1X ? SdpParser.adaptCodecName(result.sdp, VideoCodec.AV1, 'AV1X') : result.sdp - logger.info('Command sent, subscriberId: ', result.subscriberId) - logger.debug('Command result: ', result) - this.serverId = result.subscriberId - this.clusterId = result.clusterId - this.streamViewId = result.streamViewId + this.#logger.info('Command sent, subscriberId:', result.subscriberId); + this.#logger.debug('Command result:', result); + + this.#serverId = result.subscriberId + this.#clusterId = result.clusterId + this.#streamViewId = result.streamViewId // Save for diagnostics - Diagnostics.initStreamName(this.streamName || '') - Diagnostics.initSubscriberId(this.serverId || '') - Diagnostics.initStreamViewId(result.streamViewId) - Diagnostics.setClusterId(this.clusterId || '') - return result.sdp + Diagnostics.initStreamName(this.#streamName || ''); + Diagnostics.initSubscriberId(this.#serverId || ''); + Diagnostics.initStreamViewId(this.#streamViewId); + Diagnostics.setClusterId(this.#clusterId || ''); + + return result.sdp; } else { - return '' + return ''; } } catch (e) { - logger.error('Error sending view command, error: ', e) + this.#logger.error('Error sending view command, error: ', e) throw e } } /** - * Establish WebRTC connection with Millicast Server as Publisher role. - * @param {String} sdp - The SDP information created by your offer. - * @param {SignalingPublishOptions} options - Signaling Publish Options. - * @example const response = await millicastSignaling.publish(sdp, {codec: 'h264'}) - * @return {Promise} Promise object which represents the SDP command response. + * Establishes a WebRTC connection with the Server as Publisher role. + * + * @param sdp The SDP information created by your offer. + * @param options Signaling Publish Options. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives a string which represents the SDP command response. + * + * @example const response = await signaling.publish(sdp, {codec: 'h264'}); */ - async publish(sdp = '', options: SignalingPublishOptions = { codec: VideoCodec.H264 }) { - logger.info(`Starting publishing to streamName: ${this.streamName}, codec: ${options.codec}`) - logger.debug('Publishing local description: ', sdp) + async publish(sdp: string = '', options: SignalingPublishOptions = { codec: VideoCodec.H264 }): Promise { + this.#logger.info(`Starting publishing to streamName: ${this.#streamName}, codec: ${options.codec}`) + this.#logger.debug('Publishing local description: ', sdp) const supportedVideoCodecs = PeerConnection.getCapabilities?.('video')?.codecs?.map((cdc: ICodecs) => cdc.codec) ?? [] const videoCodecs = Object.values(VideoCodec) if (videoCodecs.indexOf(options.codec) === -1) { - logger.error(`Invalid codec ${options.codec}. Possible values are: `, videoCodecs) + this.#logger.error(`Invalid codec ${options.codec}. Possible values are: `, videoCodecs) throw new Error(`Invalid codec ${options.codec}. Possible values are: ${videoCodecs}`) } if (supportedVideoCodecs.length > 0 && supportedVideoCodecs.indexOf(options.codec) === -1) { - logger.error(`Unsupported codec ${options.codec}. Possible values are: `, supportedVideoCodecs) + this.#logger.error(`Unsupported codec ${options.codec}. Possible values are: `, supportedVideoCodecs) throw new Error(`Unsupported codec ${options.codec}. Possible values are: ${supportedVideoCodecs}`) } @@ -317,9 +312,9 @@ export default class Signaling extends TypedEventEmitter { throw new Error('Not attempting to connect as video and audio are disabled') } await this.connect() - if (this.transactionManager) { - logger.info('Sending publish command') - const result = (await this.transactionManager.cmd('publish', data)) as { + if (this.#transactionManager) { + this.#logger.info('Sending publish command') + const result = (await this.#transactionManager.cmd('publish', data)) as { sdp: string publisherId: string clusterId: string @@ -334,35 +329,37 @@ export default class Signaling extends TypedEventEmitter { result.sdp = AV1X ? SdpParser.adaptCodecName(result.sdp, VideoCodec.AV1, 'AV1X') : result.sdp } - logger.info('Command sent, publisherId: ', result.publisherId) - logger.debug('Command result: ', result) - this.serverId = result.publisherId - this.clusterId = result.clusterId + this.#logger.info('Command sent, publisherId: ', result.publisherId) + this.#logger.debug('Command result: ', result) + this.#serverId = result.publisherId + this.#clusterId = result.clusterId // Save for diagnostics - Diagnostics.initStreamName(this.streamName || '') - Diagnostics.initSubscriberId(this.serverId || '') + Diagnostics.initStreamName(this.#streamName || '') + Diagnostics.initSubscriberId(this.#serverId || '') Diagnostics.initFeedId(result.feedId) - Diagnostics.setClusterId(this.clusterId || '') + Diagnostics.setClusterId(this.#clusterId || '') return result.sdp } else { return '' } } catch (e) { - logger.error('Error sending publish command, error: ', e) + this.#logger.error('Error sending publish command, error: ', e) throw e } } /** - * Send command to the server. - * @param {String} cmd - Command name. - * @param {Object} [data] - Command parameters. - * @return {Promise} Promise object which represents the command response. + * Sends a command to the server. + * + * @param cmd Name of the command to sent. + * @param data Command parameters. + * + * @returns A {@link !Promise Promise} whose fulfillment handler receives an object which represents the response to the command sent. */ async cmd(cmd: string, data?: object): Promise { - logger.info(`Sending cmd: ${cmd}`) + this.#logger.info(`Sending cmd: ${cmd}`) - return this.transactionManager?.cmd(cmd, data) as object + return this.#transactionManager?.cmd(cmd, data) as object } } diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index 93229860..70baf572 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -2,7 +2,7 @@ import reemit from 're-emitter' import jwtDecode from 'jwt-decode' import Logger from './Logger' import { BaseWebRTC } from './utils/BaseWebRTC' -import Signaling from './Signaling' +import { Signaling } from './Signaling' import PeerConnection from './PeerConnection' import { hexToUint8Array } from './utils/StringUtils' import { swapPropertyValues } from './utils/ObjectUtils' @@ -115,11 +115,6 @@ const defaultConnectOptions: ViewerConnectOptions = { * // Connect to the stream * const connectOptions: ViewerConnectOptions = {}; * await viewer.connect(connectOptions); - * - * @fires This class may fire the following events: - * * {@link ViewerEvents.track | track} - * * {@link ViewerEvents.active | active} - * * {@link ViewerEvents.inactive | inactive} */ export class Viewer extends BaseWebRTC { // States what payload type is associated with each codec from the SDP answer. @@ -152,7 +147,7 @@ export class Viewer extends BaseWebRTC { } if (isNotDefined(options.streamAccountId)) { - logger.error('The Stream Name is missing.'); + logger.error('The Stream Account ID is missing.'); throw new Error('The Stream Account ID is missing.'); } @@ -295,11 +290,14 @@ export class Viewer extends BaseWebRTC { this.logger.debug('Viewer connect options values: ', this.options) this.stopReconnection = false let promises + if (!data.migrate && this.isActive()) { this.logger.warn('Viewer currently subscribed') throw new Error('Viewer currently subscribed') } + let subscriberData: MillicastDirectorResponse; + try { subscriberData = await this.getConnectionData() // Set the iceServers from the subscribe data into the peerConfig @@ -323,16 +321,19 @@ export class Viewer extends BaseWebRTC { } throw error } + if (!subscriberData) { - this.logger.error('Error while subscribing. Subscriber data required') - throw new Error('Subscriber data required') + this.logger.error('Error while subscribing. Subscriber data required'); + throw new Error('Subscriber data required'); } + const decodedJWT = jwtDecode(subscriberData.jwt) as DecodedJWT this.streamName = decodedJWT['millicast'].streamName const signalingInstance = new Signaling({ streamName: this.streamName, url: `${subscriberData.urls[0]}?token=${subscriberData.jwt}`, }) + if (subscriberData.drmObject) { // cache the DRM license server URLs this.DRMProfile = subscriberData.drmObject @@ -417,19 +418,20 @@ export class Viewer extends BaseWebRTC { this.isMainStreamActive = false; }); - const options = { ...(this.options as ViewerConnectOptions), stereo: true } - const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(options) - const signalingConnectPromise = signalingInstance.connect() + const options = { ...(this.options as ViewerConnectOptions), stereo: true }; + const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(options); + const signalingConnectPromise = signalingInstance.connect(); + promises = await Promise.all([getLocalSDPPromise, signalingConnectPromise]) - const localSdp = promises[0] + const localSdp = promises[0] let oldSignaling = this.signaling this.signaling = signalingInstance const subscribePromise = this.signaling.subscribe(localSdp, { ...this.options, vad: !!this.options?.multiplexedAudioTracks, - } as ViewerConnectOptions) + } as ViewerConnectOptions); const setLocalDescriptionPromise = webRTCPeerInstance.peer?.setLocalDescription( webRTCPeerInstance.sessionDescription as RTCSessionDescriptionInit ) @@ -711,8 +713,7 @@ export class Viewer extends BaseWebRTC { let data = await response.json(); if (data.status === 'fail') { - const error = new FetchError(data.data.message, response.status); - throw error; + throw new FetchError(data.data.message, response.status); } data = this.parseIncomingDirectorResponse(data); diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index 1cfd0560..27a12ab6 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,13 +1,15 @@ import Logger from './Logger'; import PeerConnection from './PeerConnection'; -import Signaling from './Signaling'; -export { Logger, PeerConnection, Signaling }; +export { Logger, PeerConnection }; /** @hidden */ export * as Urls from './urls'; export * from './types/events'; +export * from './types/Signaling.types'; +export * from './Signaling'; + export * from './types/Viewer.types'; export * from './Viewer'; diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index 245295dd..528d47d0 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -1,6 +1,7 @@ import { PublisherServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' +import PeerConnection from '../PeerConnection' /** * Publisher Options @@ -79,7 +80,7 @@ export interface PublishConnectOptions { */ simulcast?: boolean /** - * - Selected scalability mode. You can get the available capabilities using PeerConnection.getCapabilities method. + * - Selected scalability mode. You can get the available capabilities using {@link PeerConnection.getCapabilities} method. * **Only available in Google Chrome.** */ scalabilityMode?: string | null diff --git a/packages/millicast-sdk/src/types/Signaling.types.ts b/packages/millicast-sdk/src/types/Signaling.types.ts index 1b624e72..8a2bd24f 100644 --- a/packages/millicast-sdk/src/types/Signaling.types.ts +++ b/packages/millicast-sdk/src/types/Signaling.types.ts @@ -2,8 +2,22 @@ import { PublisherServerEvent, ViewerServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { LayerInfo } from './Viewer.types' +/** + * Signaling Options + */ +export interface SignalingOptions { + /** + * Stream Name to subscribe to. + */ + streamName: string | null; + /** + * WebSocket URL to signal the server and establish a WebRTC connection. + */ + url: string; +} + /** */ -export type SignalingSubscribeOptions = { +export interface SignalingSubscribeOptions { /** Enable VAD multiplexing for secondary sources. */ vad?: boolean; /** Id of the main source that will be received by the default MediaStream. */ @@ -21,7 +35,7 @@ export type SignalingSubscribeOptions = { } /** */ -export type SignalingPublishOptions = { +export interface SignalingPublishOptions { /** Codec for publish stream. */ codec: VideoCodec; /** Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** */ diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index 20605983..c0d1c016 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -2,7 +2,7 @@ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; import PeerConnection from '../PeerConnection'; -import Signaling from '../Signaling'; +import { Signaling } from '../Signaling'; import TransactionManager from 'transaction-manager'; import { EncryptionParameters, TrackInfo } from './Viewer.types'; import { EmittedEvents } from '../utils/TypedEventEmitter'; @@ -23,7 +23,7 @@ export interface PeerConnectionEvents extends EmittedEvents { */ export interface SignalingEvents extends EmittedEvents { /** - * Connection success. + * WebSocket connection was successfully established with signaling server. */ wsConnectionSuccess(event: { /** WebSocket object which represents active connection. */ @@ -32,8 +32,11 @@ export interface SignalingEvents extends EmittedEvents { tm: TransactionManager | null }): void; - /** Triggered when there is a web socket connection error. */ - wsConnectionError(event: string): void; + /** + * Triggered when there is a web socket connection error. + * @param url URL of the web socket. + */ + wsConnectionError(url: string): void; /** Triggered when the web socket connection closes. */ wsConnectionClose(): void; @@ -177,7 +180,7 @@ export interface ReconnectEventPayload { * * `Signaling error: wsConnectionError` if there was an error in the Websocket connection. * * `Connection state change: RTCPeerConnectionState disconnected` if there was an error in the RTCPeerConnection. * * `Attempting to reconnect` if the reconnect was trigered externally. - * * Or any internal error thrown by either Publish.connect or View.connect methods + * * Or any internal error thrown by either {@link Publisher.connect}> or {@link Viewer.connect} methods */ error: Error } diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 64b7c6e7..07badc77 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -1,6 +1,6 @@ import Logger from '../Logger' import PeerConnection from '../PeerConnection' -import Signaling from '../Signaling' +import { Signaling } from '../Signaling' import Diagnostics from './Diagnostics' import { ILogger } from 'js-logger' import { MillicastDirectorResponse, ReconnectData } from '../types/BaseWebRTC.types' @@ -128,9 +128,9 @@ export class BaseWebRTC extends TypedEventEmit /** * Reconnects to last broadcast. - * @fires BaseWebRTC#reconnect - * @param {ReconnectData} [data] - This object contains the error property. It may be expanded to contain more information in the future. - * @property {String} error - The value sent in the first [reconnect event]{@link BaseWebRTC#event:reconnect} within the error key of the payload + * + * @param data This object contains the error property. It may be expanded to contain more information in the future. + * @property error - The value sent in the first [reconnect event]{@link BaseWebRTCEvents.reconnect} within the error key of the payload */ async reconnect(data?: ReconnectData) { try { diff --git a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js index 891361ce..fef1dbba 100644 --- a/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerDiagnose.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import Logger from '../../src/Logger' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import { Viewer } from '../../src/Viewer' import MockRTCPeerConnection, { rawStats } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' diff --git a/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js b/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js index f79a8e69..41d926cf 100644 --- a/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js +++ b/packages/millicast-sdk/tests/unit/ManageSignaling.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import WS from 'jest-websocket-mock' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import './__mocks__/MockBrowser' import { WebSocket } from 'mock-socket' const feature = loadFeature('../features/ManageSignaling.feature', { loadRelativePath: true, errors: true }) diff --git a/packages/millicast-sdk/tests/unit/OfferPublishingStream.steps.js b/packages/millicast-sdk/tests/unit/OfferPublishingStream.steps.js index 7593ecea..8b632d16 100644 --- a/packages/millicast-sdk/tests/unit/OfferPublishingStream.steps.js +++ b/packages/millicast-sdk/tests/unit/OfferPublishingStream.steps.js @@ -1,7 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import WS from 'jest-websocket-mock' import TransactionManager from 'transaction-manager' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import './__mocks__/MockBrowser' import { WebSocket } from 'mock-socket' const feature = loadFeature('../features/OfferPublishingStream.feature', { diff --git a/packages/millicast-sdk/tests/unit/OfferSubscribingStream.steps.js b/packages/millicast-sdk/tests/unit/OfferSubscribingStream.steps.js index 17b934e8..76b192cb 100644 --- a/packages/millicast-sdk/tests/unit/OfferSubscribingStream.steps.js +++ b/packages/millicast-sdk/tests/unit/OfferSubscribingStream.steps.js @@ -1,7 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import WS from 'jest-websocket-mock' import TransactionManager from 'transaction-manager' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import './__mocks__/MockBrowser' import { WebSocket } from 'mock-socket' const feature = loadFeature('../features/OfferSubscribingStream.feature', { diff --git a/packages/millicast-sdk/tests/unit/Publisher.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js index 5c08f780..78c7da24 100644 --- a/packages/millicast-sdk/tests/unit/Publisher.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -1,7 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { Publisher } from '../../src/Publisher' import PeerConnection from '../../src/PeerConnection' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js index 8f476770..e9b6a545 100644 --- a/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/PublisherReconnect.steps.js @@ -2,6 +2,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockBrowser' +import { Signaling } from '../../src/Signaling' const feature = loadFeature('../features/PublisherReconnection.feature', { loadRelativePath: true, @@ -27,14 +28,6 @@ jest.mock('../../src/Signaling', () => { return { __esModule: true, ...originalSignaling, - default: class MockSignaling extends originalSignaling.default { - async connect() { - return Promise.resolve() - } - async publish() { - return Promise.resolve('SDP') - } - }, } }) @@ -52,6 +45,9 @@ beforeEach(() => { jest.isolateModules(() => { Publisher = require('../../src/Publisher').Publisher }) + + jest.spyOn(Signaling.prototype, 'connect').mockReturnValue(Promise.resolve()) + jest.spyOn(Signaling.prototype, 'publish').mockReturnValue(Promise.resolve('SDP')) }) defineFeature(feature, (test) => { diff --git a/packages/millicast-sdk/tests/unit/Viewer.steps.js b/packages/millicast-sdk/tests/unit/Viewer.steps.js index 95325feb..7f0f6b66 100644 --- a/packages/millicast-sdk/tests/unit/Viewer.steps.js +++ b/packages/millicast-sdk/tests/unit/Viewer.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { Viewer } from '../../src/Viewer' -import Signaling from '../../src/Signaling' +import { Signaling } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js index d9ec38b0..9849db4e 100644 --- a/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js +++ b/packages/millicast-sdk/tests/unit/ViewerReconnect.steps.js @@ -1,6 +1,7 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' +import { Signaling } from '../../src/Signaling' const feature = loadFeature('../features/ViewerReconnection.feature', { loadRelativePath: true, @@ -24,14 +25,6 @@ jest.mock('../../src/Signaling', () => { return { __esModule: true, ...originalSignaling, - default: class MockSignaling extends originalSignaling.default { - async connect() { - return Promise.resolve() - } - async subscribe() { - return Promise.resolve('SDP') - } - }, } }) @@ -56,6 +49,9 @@ beforeEach(() => { jest.isolateModules(() => { Viewer = require('../../src/Viewer').Viewer }) + + jest.spyOn(Signaling.prototype, 'connect').mockReturnValue(Promise.resolve()) + jest.spyOn(Signaling.prototype, 'subscribe').mockReturnValue(Promise.resolve('SDP')) }) defineFeature(feature, (test) => { @@ -254,7 +250,7 @@ defineFeature(feature, (test) => { let viewer given('an instance of Viewer with reconnection enabled', async () => { - viewer = new Viewer({streamName: 'a', streamAccountId: 'b', autoReconnect: true}) + viewer = new Viewer({streamName: 'test-stream', streamAccountId: 'b', autoReconnect: true}); jest.spyOn(viewer, "getConnectionData").mockImplementation(mockTokenGenerator); await viewer.connect() }) From 098780f9174acbafcbc0e9f1f880af3db7411bce Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 1 Jul 2025 09:49:58 +0200 Subject: [PATCH 05/22] Clean up the PeerConnection Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/src/PeerConnection.ts | 85 ++++-------- .../millicast-sdk/src/PeerConnectionStats.ts | 127 ++++-------------- packages/millicast-sdk/src/Publisher.ts | 2 +- packages/millicast-sdk/src/Signaling.ts | 2 +- packages/millicast-sdk/src/Viewer.ts | 2 +- packages/millicast-sdk/src/index.ts | 8 +- .../millicast-sdk/src/types/Codecs.types.ts | 32 +++-- .../src/types/PeerConnection.types.ts | 6 + .../src/types/Publisher.types.ts | 2 +- packages/millicast-sdk/src/types/events.ts | 13 +- .../millicast-sdk/src/types/stats.types.ts | 1 + .../millicast-sdk/src/utils/BaseWebRTC.ts | 2 +- .../tests/unit/ChangeMediaTrack.steps.js | 2 +- .../tests/unit/GetCapabilites.steps.js | 2 +- .../tests/unit/GetPeerStatus.steps.js | 2 +- .../tests/unit/ManagePeerConnection.steps.js | 2 +- .../tests/unit/PeerConnectionEvent.steps.js | 2 +- .../tests/unit/PeerStats.steps.js | 4 +- .../tests/unit/Publisher.steps.js | 2 +- .../tests/unit/SetLocalDescription.steps.js | 2 +- .../tests/unit/SetRemoteDescription.steps.js | 2 +- .../tests/unit/UpdateBitrateWebRTC.steps.js | 2 +- 22 files changed, 109 insertions(+), 195 deletions(-) diff --git a/packages/millicast-sdk/src/PeerConnection.ts b/packages/millicast-sdk/src/PeerConnection.ts index 2f93e8c2..8a2c50a0 100644 --- a/packages/millicast-sdk/src/PeerConnection.ts +++ b/packages/millicast-sdk/src/PeerConnection.ts @@ -1,5 +1,5 @@ import reemit from 're-emitter' -import PeerConnectionStats, { peerConnectionStatsEvents } from './PeerConnectionStats' +import { PeerConnectionStats } from './PeerConnectionStats' import SdpParser from './utils/SdpParser' import UserAgent from './utils/UserAgent' import Logger from './Logger' @@ -33,7 +33,7 @@ const localSDPOptions = { * Manages WebRTC connection and SDP information between peers. * @example const peerConnection = new PeerConnection() */ -export default class PeerConnection extends TypedEventEmitter { +export class PeerConnection extends TypedEventEmitter { public mode: 'Publisher' | 'Viewer' | null public peer: RTCPeerConnection | null public peerConnectionStats: PeerConnectionStats | null @@ -52,11 +52,9 @@ export default class PeerConnection extends TypedEventEmitter} Promise object which resolves when SDP information was successfully set. + * @param sdp - New SDP to be set in the remote peer. + * @returns Promise object which resolves when SDP information was successfully set. */ async setRTCRemoteSDP(sdp: string): Promise { logger.info('Setting RTC Remote SDP') @@ -113,21 +110,8 @@ export default class PeerConnection extends TypedEventEmitter} options.mediaStream - MediaStream to offer in a stream. This object must have - * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. - * @param {VideoCodec} options.codec - Selected codec for support simulcast. - * @param {Boolean} options.simulcast - True to modify SDP for support simulcast. **Only available in Chromium based browsers and with H.264 or VP8 video codecs.** - * @param {String} options.scalabilityMode - Selected scalability mode. You can get the available capabilities using PeerConnection.getCapabilities method. - * **Only available in Google Chrome.** - * @param {Boolean} options.absCaptureTime - True to modify SDP for supporting absolute capture time header extension. Otherwise False. - * @param {Boolean} options.dependencyDescriptor - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. - * @param {Boolean} options.disableAudio - True to not support audio. - * @param {Boolean} options.disableVideo - True to not support video. - * @param {Boolean} options.setSDPToPeer - True to set the SDP to local peer. - * @returns {Promise} Promise object which represents the SDP information of the created offer. + * @param options SDP options. + * @returns Promise object which represents the SDP information of the created offer. */ async getRTCLocalSDP(options: SdpOptions = localSDPOptions): Promise { logger.info('Getting RTC Local SDP') @@ -174,9 +158,9 @@ export default class PeerConnection extends TypedEventEmitter} streams - Streams the track will belong to. - * @return {Promise} Promise that will be resolved when the RTCRtpTransceiver is assigned an mid value. + * @param media - Media kind ('audio' | 'video'). + * @param streams - Streams the track will belong to. + * @return Promise that will be resolved when the RTCRtpTransceiver is assigned an mid value. */ async addRemoteTrack(media: string, streams: Array): Promise { return new Promise((resolve, reject) => { @@ -196,9 +180,9 @@ export default class PeerConnection extends TypedEventEmitter} Promise object which resolves when bitrate was successfully updated. + * @param bitrate - New bitrate value in kbps or 0 unlimited bitrate. + * @returns Promise object which resolves when bitrate was successfully updated. */ async updateBitrate(bitrate = 0): Promise { if (this.mode === ConnectionType.Viewer) { @@ -236,9 +220,9 @@ export default class PeerConnection extends TypedEventEmitter} codecs - * @property {String} codecs.codec - Audio or video codec name. - * @property {String} codecs.mimeType - Audio or video codec mime type. - * @property {Array} [codecs.scalabilityModes] - In case of SVC support, a list of scalability modes supported. - * @property {Number} [codecs.channels] - Only for audio, the number of audio channels supported. - * @property {Array} headerExtensions - An array specifying the URI of the header extension, as described in RFC 5285. - */ /** * Gets user's browser media capabilities compared with Millicast Media Server support. * - * @param {"audio"|"video"} kind - Type of media for which you wish to get sender capabilities. - * @returns {MillicastCapability} Object with all capabilities supported by user's browser and Millicast Media Server. + * @param kind - Type of media for which you wish to get sender capabilities. + * @returns Object with all capabilities supported by user's browser and Millicast Media Server. */ static getCapabilities(kind: 'audio' | 'video'): MillicastCapability | null { const browserData = new UserAgent() @@ -328,7 +303,7 @@ export default class PeerConnection extends TypedEventEmitter} An array with all tracks in sender peer. + * @returns An array with all tracks in sender peer. */ getTracks(): MediaStreamTrack[] { return ( @@ -343,7 +318,6 @@ export default class PeerConnection extends TypedEventEmitter { /** * Emits peer events. - * @param {PeerConnection} instanceClass - PeerConnection instance. - * @param {RTCPeerConnection} peer - Peer instance. - * @fires PeerConnection#track - * @fires PeerConnection#connectionStateChange + * @param instanceClass PeerConnection instance. + * @param peer Peer instance. */ const addPeerEvents = (instanceClass: PeerConnection, peer: RTCPeerConnection) => { peer.ontrack = async (event: RTCTrackEvent) => { @@ -484,9 +456,6 @@ const addPeerEvents = (instanceClass: PeerConnection, peer: RTCPeerConnection) = // ConnectionStateChange does not exists in Firefox. peer.oniceconnectionstatechange = () => { logger.info('Peer ICE connection state change: ', peer.iceConnectionState) - /** - * @fires PeerConnection#connectionStateChange - */ instanceClass.emit('connectionStateChange', peer.iceConnectionState) } } diff --git a/packages/millicast-sdk/src/PeerConnectionStats.ts b/packages/millicast-sdk/src/PeerConnectionStats.ts index 271dcc17..555581a6 100644 --- a/packages/millicast-sdk/src/PeerConnectionStats.ts +++ b/packages/millicast-sdk/src/PeerConnectionStats.ts @@ -1,88 +1,11 @@ -import EventEmitter from 'events' import Logger from './Logger' import Diagnostics from './utils/Diagnostics' import { OnStats, WebRTCStats } from '@dolbyio/webrtc-stats' import { PeerConnectionConfig } from './types/PeerConnection.types' import { ConnectionStats } from './types/stats.types' - -const logger = Logger.get('PeerConnectionStats') - -/** - * @typedef {Object} ConnectionStats - * @property {RTCStatsReport} raw - All RTCPeerConnection stats without parsing. Reference {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport}. - * @property {TrackReport} audio - Parsed audio information. - * @property {TrackReport} video - Parsed video information. - * @property {Number} availableOutgoingBitrate - The available outbound capacity of the network connection. The higher the value, the more bandwidth you can assume is available for outgoing data. The value is reported in bits per second. - * - * This value comes from the nominated candidate-pair. - * @property {Number} totalRoundTripTime - Total round trip time is the total time in seconds that has elapsed between sending STUN requests and receiving the responses. - * - * This value comes from the nominated candidate-pair. - * @property {Number} currentRoundTripTime - Current round trip time indicate the number of seconds it takes for data to be sent by this peer to the remote peer and back over the connection described by this pair of ICE candidates. - * - * This value comes from the nominated candidate-pair. - * @property {RTCIceCandidateType} candidateType - Local candidate type from the nominated candidate-pair which indicates the type of ICE candidate the object represents. - */ - -/** - * @typedef {Object} TrackReport - * @property {Array} inbounds - Parsed information of each inbound-rtp. - * @property {Array} outbounds - Parsed information of each outbound-rtp. - */ - -/** - * @typedef {Object} InboundStats - * @property {String} id - inbound-rtp Id. - * @property {Number} jitter - Current Jitter measured in seconds. - * @property {String} [mimeType] - Mime type if related report had codec report associated. - * @property {Number} [framesPerSecond] - Current framerate if it's video report. - * @property {Number} [frameHeight] - Current frame height if it's video report. - * @property {Number} [frameWidth] - Current frame width if it's video report. - * @property {Number} [keyFramesDecoded] - Total number of key frames that have been decoded if it's video report. - * @property {Number} [framesDecoded] - Total number of frames that have been decoded if it's video report. - * @property {Number} [framesDropped] - Total number of frames that have been dropped if it's video report. - * @property {Number} [framesReceived] - Total number of frames that have been received if it's video report. - * @property {Number} timestamp - Timestamp of report. - * @property {Number} totalBytesReceived - Total bytes received is an integer value which indicates the total number of bytes received so far from this synchronization source. - * @property {Number} totalPacketsReceived - Total packets received indicates the total number of packets of any kind that have been received on the connection described by the pair of candidates. - * @property {Number} totalPacketsLost - Total packets lost. - * @property {Number} packetsLostRatioPerSecond - Total packet lost ratio per second. - * @property {Number} packetsLostDeltaPerSecond - Total packet lost delta per second. - * @property {Number} bitrate - Current bitrate in Bytes per second. - * @property {Number} bitrateBitsPerSecond - Current bitrate in bits per second. - * @property {Number} packetRate - The rate at which packets are being received, measured in packets per second. - * @property {Number} jitterBufferDelay - Total delay in seconds currently experienced by the jitter buffer. - * @property {Number} jitterBufferEmittedCount - Total number of packets emitted from the jitter buffer. - */ - -/** - * @typedef {Object} OutboundStats - * @property {String} id - outbound-rtp Id. - * @property {String} [mimeType] - Mime type if related report had codec report associated. - * @property {Number} [framesPerSecond] - Current framerate if it's video report. - * @property {Number} [frameHeight] - Current frame height if it's video report. - * @property {Number} [frameWidth] - Current frame width if it's video report. - * @property {String} [qualityLimitationReason] - If it's video report, indicate the reason why the media quality in the stream is currently being reduced by the codec during encoding, or none if no quality reduction is being performed. - * @property {Number} timestamp - Timestamp of report. - * @property {Number} totalBytesSent - Total bytes sent indicates the total number of payload bytes that hve been sent so far on the connection described by the candidate pair. - * @property {Number} bitrate - Current bitrate in Bytes per second. - * @property {Number} bitrateBitsPerSecond - Current bitrate in bits per second. - * @property {Number} bytesSentDelta - Change in the number of bytes sent since the last report. - * @property {Number} totalPacketsSent - Total number of packets sent. - * @property {Number} packetsSentDelta - Change in the number of packets sent since the last report. - * @property {Number} packetRate - Rate at which packets are being sent, measured in packets per second. - * @property {Number} targetBitrate - The target bitrate for the encoder, in bits per second. - * @property {Number} retransmittedPacketsSent - Total number of retransmitted packets sent. - * @property {Number} retransmittedPacketsSentDelta - Change in the number of retransmitted packets sent since the last report. - * @property {Number} retransmittedBytesSent - Total number of bytes that have been retransmitted. - * @property {Number} retransmittedBytesSentDelta - Change in the number of retransmitted bytes sent since the last report. - * @property {Number} framesSent - Total number of frames sent (applicable for video). - * @property {Object} [qualityLimitationDurations] - Durations in seconds for which the quality of the media has been limited by the codec, categorized by the limitation reasons such as bandwidth, CPU, or other factors. - */ - -export const peerConnectionStatsEvents = { - stats: 'stats', -} +import { ILogger } from 'js-logger' +import { PeerConnectionStatsEvents } from './types/events' +import { TypedEventEmitter } from './utils/TypedEventEmitter' /** * Parses incoming WebRTC statistics @@ -143,7 +66,8 @@ const parseWebRTCStats = (webRTCStats: OnStats): ConnectionStats => { return statsObject } -export default class PeerConnectionStats extends EventEmitter { +export class PeerConnectionStats extends TypedEventEmitter { + #logger: ILogger; peer: RTCPeerConnection collection: WebRTCStats | null initialized: boolean @@ -153,6 +77,10 @@ export default class PeerConnectionStats extends EventEmitter { options: PeerConnectionConfig = { statsIntervalMs: 1000, autoInitStats: true } ) { super() + + this.#logger = Logger.get('PeerConnectionStats'); + this.#logger.setLevel(Logger.DEBUG); + this.peer = peer this.collection = null this.initialized = false @@ -162,18 +90,17 @@ export default class PeerConnectionStats extends EventEmitter { } /** - * Initialize the statistics monitoring of the RTCPeerConnection. + * Initialize the statistics monitoring of the {@link RTCPeerConnection}. * - * @param {number} [statsIntervalMs] The interval, in Milliseconds, at which stats need to be returned + * @param statsIntervalMs The interval, in Milliseconds, at which stats need to be returned */ - init(statsIntervalMs: number) { + public init(statsIntervalMs: number) { if (this.initialized) { - logger.warn( - 'PeerConnectionStats.init() has already been called. Automatic initialization occurs when the PeerConnectionStats object is constructed.' - ) - return + this.#logger.warn('PeerConnectionStats.init() has already been called. Automatic initialization occurs when the PeerConnectionStats object is constructed.'); + return; } - logger.info('Initializing peer connection stats') + + this.#logger.info('Initializing peer connection stats') const peer = this.peer try { this.collection = new WebRTCStats({ @@ -185,22 +112,22 @@ export default class PeerConnectionStats extends EventEmitter { }) this.collection.on('stats', (stats) => { - const parsedStats = parseWebRTCStats(stats) - Diagnostics.addStats(parsedStats) - this.emit(peerConnectionStatsEvents.stats, parsedStats) - }) - this.collection.start() - this.initialized = true + const parsedStats = parseWebRTCStats(stats); + Diagnostics.addStats(parsedStats); + this.emit('stats', parsedStats); + }); + this.collection.start(); + this.initialized = true; } catch (e) { - logger.error(e) + this.#logger.error(e) } } /** - * Stops the monitoring of RTCPeerConnection statistics. + * Stops the monitoring of {@link RTCPeerConnection} statistics. */ - stop() { - logger.info('Stopping peer connection stats') - this.collection?.stop() + public stop() { + this.#logger.info('Stopping peer connection stats'); + this.collection?.stop(); } } diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index 3d7258d8..0bff9fa6 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -5,7 +5,7 @@ import Logger from './Logger' import { BaseWebRTC } from './utils/BaseWebRTC' import { Signaling } from './Signaling' import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs' -import PeerConnection, { ConnectionType } from './PeerConnection' +import { PeerConnection, ConnectionType } from './PeerConnection' import * as Urls from './urls' import FetchError from './utils/FetchError' import { supportsInsertableStreams, supportsRTCRtpScriptTransform } from './utils/StreamTransform' diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index fed0ee94..0e238fef 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -2,7 +2,7 @@ import { ILogger } from 'js-logger' import TransactionManager from 'transaction-manager' import Logger from './Logger' import SdpParser from './utils/SdpParser' -import PeerConnection from './PeerConnection' +import { PeerConnection } from './PeerConnection' import Diagnostics from './utils/Diagnostics' import { PublishCmd, diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index 70baf572..f6cb5859 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -3,7 +3,7 @@ import jwtDecode from 'jwt-decode' import Logger from './Logger' import { BaseWebRTC } from './utils/BaseWebRTC' import { Signaling } from './Signaling' -import PeerConnection from './PeerConnection' +import { PeerConnection } from './PeerConnection' import { hexToUint8Array } from './utils/StringUtils' import { swapPropertyValues } from './utils/ObjectUtils' import FetchError from './utils/FetchError' diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index 27a12ab6..a9e6a535 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,18 +1,22 @@ import Logger from './Logger'; -import PeerConnection from './PeerConnection'; -export { Logger, PeerConnection }; +export { Logger }; /** @hidden */ export * as Urls from './urls'; export * from './types/events'; +export * from './types/PeerConnection.types'; +export { PeerConnection } from './PeerConnection'; + export * from './types/Signaling.types'; export * from './Signaling'; export * from './types/Viewer.types'; export * from './Viewer'; +export { VideoCodec } from './types/Codecs.types'; + export * from './types/Publisher.types'; export * from './Publisher'; diff --git a/packages/millicast-sdk/src/types/Codecs.types.ts b/packages/millicast-sdk/src/types/Codecs.types.ts index bccad952..8f5688be 100644 --- a/packages/millicast-sdk/src/types/Codecs.types.ts +++ b/packages/millicast-sdk/src/types/Codecs.types.ts @@ -1,30 +1,28 @@ -/** - * Enum of Millicast supported Video codecs - * @readonly - * @enum {String} - * @property {String} VP8 - * @property {String} VP9 - * @property {String} H264 - * @property {String} AV1 - * @property {String} H265 - Only available in Safari - */ +/** Video codecs supported by the platform. */ export enum VideoCodec { + /** VP8 */ VP8 = 'vp8', + /** VP9 */ VP9 = 'vp9', + /** H264 */ H264 = 'h264', + /** + * AV1 + * @remarks Not available on all platforms. + */ AV1 = 'av1', + /** + * H265 + * @remarks Only available with Safari. + */ H265 = 'h265', } -/** - * Enum of Millicast supported Audio codecs - * @readonly - * @enum {String} - * @property {String} OPUS - * @property {String} MULTIOPUS - */ +/** Audio codecs supported by the platform. */ export enum AudioCodec { + /** OPUS */ OPUS = 'opus', + /** Multi OPUS */ MULTIOPUS = 'multiopus', } diff --git a/packages/millicast-sdk/src/types/PeerConnection.types.ts b/packages/millicast-sdk/src/types/PeerConnection.types.ts index e2fe8a93..39ddd287 100644 --- a/packages/millicast-sdk/src/types/PeerConnection.types.ts +++ b/packages/millicast-sdk/src/types/PeerConnection.types.ts @@ -1,5 +1,6 @@ import { AudioCodec, VideoCodec } from './Codecs.types' +/** PeerConnection configuration. */ export interface PeerConnectionConfig extends RTCConfiguration { /** * - whether stats collection should be auto initialized. Defaults to `true` @@ -32,13 +33,18 @@ export interface SdpOptions { } export interface ICodecs { + /** Audio or video codec name. */ codec?: VideoCodec | AudioCodec + /** Audio or video codec mime type. */ mimeType?: string + /** In case of SVC support, a list of scalability modes supported. */ scalabilityModes?: Array + /** Only for audio, the number of audio channels supported. */ channels?: number } export interface MillicastCapability { codecs: ICodecs[] + /** An array specifying the URI of the header extension, as described in RFC 5285. */ headerExtensions: Array } diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index 528d47d0..a9f07df7 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -1,7 +1,7 @@ import { PublisherServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' -import PeerConnection from '../PeerConnection' +import { PeerConnection } from '../PeerConnection' /** * Publisher Options diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index c0d1c016..49b4d4c2 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -1,16 +1,25 @@ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; -import PeerConnection from '../PeerConnection'; +import { PeerConnection } from '../PeerConnection'; import { Signaling } from '../Signaling'; import TransactionManager from 'transaction-manager'; import { EncryptionParameters, TrackInfo } from './Viewer.types'; import { EmittedEvents } from '../utils/TypedEventEmitter'; +import { ConnectionStats } from './stats.types'; + +/** + * Events triggered by the {@link PeerConnectionStats} classe. + */ +export interface PeerConnectionStatsEvents extends EmittedEvents { + /** Triggered when a new track is available. */ + stats(webRtcStats: ConnectionStats): void; +} /** * Events triggered by the {@link PeerConnection} classe. */ -export interface PeerConnectionEvents extends EmittedEvents { +export interface PeerConnectionEvents extends PeerConnectionStatsEvents, EmittedEvents { /** Triggered when a new track is available. */ track(trackEvent: RTCTrackEvent): void; diff --git a/packages/millicast-sdk/src/types/stats.types.ts b/packages/millicast-sdk/src/types/stats.types.ts index da19efc6..b89e7278 100644 --- a/packages/millicast-sdk/src/types/stats.types.ts +++ b/packages/millicast-sdk/src/types/stats.types.ts @@ -1,5 +1,6 @@ import { InputAudio, InputVideo, OutputAudio, OutputVideo } from "@dolbyio/webrtc-stats" +/** Connection statistics description. */ export type ConnectionStats = { /** * - All RTCPeerConnection stats without parsing. Reference {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport}. diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 07badc77..e160433c 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -1,5 +1,5 @@ import Logger from '../Logger' -import PeerConnection from '../PeerConnection' +import { PeerConnection } from '../PeerConnection' import { Signaling } from '../Signaling' import Diagnostics from './Diagnostics' import { ILogger } from 'js-logger' diff --git a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js index 8efb9b8f..e8aba77a 100644 --- a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js +++ b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js index b2c4beaa..bb9d3f2e 100644 --- a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js +++ b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' const feature = loadFeature('../features/GetCapabilities.feature', { loadRelativePath: true, errors: true }) diff --git a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js index 529c088f..d54e6919 100644 --- a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js +++ b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js index d07fe212..b6799f5d 100644 --- a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js +++ b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { defaultConfig } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' const feature = loadFeature('../features/ManagePeerConnection.feature', { diff --git a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js index d795e427..022fe476 100644 --- a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js +++ b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/PeerStats.steps.js b/packages/millicast-sdk/tests/unit/PeerStats.steps.js index 34db3eb9..c2761601 100644 --- a/packages/millicast-sdk/tests/unit/PeerStats.steps.js +++ b/packages/millicast-sdk/tests/unit/PeerStats.steps.js @@ -1,4 +1,4 @@ -import PeerConnectionStats, { peerConnectionStatsEvents } from '../../src/PeerConnectionStats' +import { PeerConnectionStats } from '../../src/PeerConnectionStats' jest.mock('events') @@ -60,6 +60,6 @@ describe('PeerConnectionStats', () => { statsInstance.collection.emit('stats', mockStatsInput) expect(emitSpy).toHaveBeenCalledTimes(1) - expect(emitSpy).toHaveBeenCalledWith(peerConnectionStatsEvents.stats, mockStatsOutput) + expect(emitSpy).toHaveBeenCalledWith('stats', mockStatsOutput) }) }) diff --git a/packages/millicast-sdk/tests/unit/Publisher.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js index 78c7da24..7f446dba 100644 --- a/packages/millicast-sdk/tests/unit/Publisher.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { Publisher } from '../../src/Publisher' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { Signaling } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' diff --git a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js index 6af5f7c1..6358b6af 100644 --- a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js index ee0df820..6de1287b 100644 --- a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' const feature = loadFeature('../features/SetRemoteDescription.feature', { diff --git a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js index 3ae92940..f3357e7f 100644 --- a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js +++ b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection, { ConnectionType } from '../../src/PeerConnection' +import { PeerConnection, ConnectionType } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' From 68690a98d678f6ce8e5813e748e7930079aa18f7 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 1 Jul 2025 10:48:42 +0200 Subject: [PATCH 06/22] Clean up Logger Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/src/Logger.ts | 165 +++++++----------- .../millicast-sdk/src/PeerConnectionStats.ts | 1 + packages/millicast-sdk/src/index.ts | 7 +- packages/millicast-sdk/src/types/events.ts | 7 +- 4 files changed, 70 insertions(+), 110 deletions(-) diff --git a/packages/millicast-sdk/src/Logger.ts b/packages/millicast-sdk/src/Logger.ts index b92f9571..8841d77f 100644 --- a/packages/millicast-sdk/src/Logger.ts +++ b/packages/millicast-sdk/src/Logger.ts @@ -3,49 +3,8 @@ import { version } from '../package.json' import Diagnostics from './utils/Diagnostics' import { CMCDDiagnostics, DiagnosticsObject, DiagnosticsOptions } from './types/stats.types' -/** - * @module Logger - * @description Manages all log messages from SDK modules, you can use this logger to add your custom - * messages and set your custom log handlers to forward all messages to your own monitoring - * system. - * - * By default all loggers are set in level OFF (Logger.OFF), and there are available - * the following log levels. - * - * This module is based on [js-logger](https://github.com/jonnyreeves/js-logger) you can refer - * to its documentation or following our examples. - * @example - * // Log a message - * Logger.info('This is an info log', 445566) - * // [Global] 2021-04-05T15:58:44.893Z - This is an info log 445566 - * @example - * // Create a named logger - * const myLogger = Logger.get('CustomLogger') - * myLogger.setLevel(Logger.WARN) - * myLogger.warn('This is a warning log') - * // [CustomLogger] 2021-04-05T15:59:53.377Z - This is a warning log - * @example - * // Profiling - * // Start timing something - * Logger.time('Timer name') - * - * // ... some time passes ... - * - * // Stop timing something. - * Logger.timeEnd('Timer name') - * // Timer name: 35282.997802734375 ms - */ - -export type LogLevel = { - /** - * - The numerical representation of the level. - */ - value: number - /** - * - Human readable name of the log level. - */ - name: string -} +/** Definition of the log level. */ +export type LogLevel = ILogLevel; jsLogger.useDefaults({ defaultLevel: jsLogger.TRACE }) @@ -54,6 +13,7 @@ const LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR'] const formatter: ILogHandler = (messages, context) => { messages.unshift(`[${context.name || 'Global'}] ${new Date().toISOString()} - ${context.level.name} -`) } + const enabledFor = (level: ILogLevel, loggerName: string) => { if (loggerName) { return level.value >= namedLoggerLevels[loggerName].value @@ -93,27 +53,12 @@ jsLogger.setHandler((messages, context) => { const DEFAULT_LOG_HISTORY_SIZE = 10000 let maxLogHistorySize = DEFAULT_LOG_HISTORY_SIZE let history: string[] = [] -let loggerLevel = jsLogger.OFF +let loggerLevel: LogLevel = jsLogger.OFF const namedLoggerLevels: { [key: string]: LogLevel } = {} const customHandlers: { handler: ILogHandler; level: LogLevel }[] = [] -/** - * @typedef {Object} LogLevel - * @global - * @property {Number} value - The numerical representation of the level. - * @property {String} name - Human readable name of the log level. - */ - -/** @constant {LogLevel} TRACE - Logger.TRACE */ -/** @constant {LogLevel} DEBUG - Logger.DEBUG */ -/** @constant {LogLevel} INFO - Logger.INFO */ -/** @constant {LogLevel} TIME - Logger.TIME */ -/** @constant {LogLevel} WARN - Logger.WARN */ -/** @constant {LogLevel} ERROR - Logger.ERROR */ -/** @constant {LogLevel} OFF - Logger.OFF */ - // TS compiler error complaining about not having CreateDefaultHandlerOptions type and it is not exported by // jsLogger so it is copied here so that we can type Logger interface CreateDefaultHandlerOptions { @@ -124,37 +69,65 @@ const createDefaultHandler = jsLogger.createDefaultHandler as ( options?: CreateDefaultHandlerOptions ) => ILogHandler + +/** + * Manages all log messages from SDK modules, you can use this logger to add your custom + * messages and set your custom log handlers to forward all messages to your own monitoring + * system. + * + * By default all loggers are set in level OFF (Logger.OFF), and there are available + * the following log levels. + * + * This module is based on [js-logger](https://github.com/jonnyreeves/js-logger) you can refer + * to its documentation or following our examples. + * @example + * // Log a message + * Logger.info('This is an info log', 445566) + * // [Global] 2021-04-05T15:58:44.893Z - This is an info log 445566 + * @example + * // Create a named logger + * const myLogger = Logger.get('CustomLogger') + * myLogger.setLevel(Logger.WARN) + * myLogger.warn('This is a warning log') + * // [CustomLogger] 2021-04-05T15:59:53.377Z - This is a warning log + * @example + * // Profiling + * // Start timing something + * Logger.time('Timer name') + * + * // ... some time passes ... + * + * // Stop timing something. + * Logger.timeEnd('Timer name') + * // Timer name: 35282.997802734375 ms + */ const Logger = { ...jsLogger, createDefaultHandler, enabledFor, + /** - * @function - * @name getHistory - * @description Get all logs generated during a session. + * Get all logs generated during a session. * All logs are recollected besides the log level selected by the user. - * @returns {Array} All logs recollected from level TRACE. + * @returns All logs recollected from level TRACE. * @example Logger.getHistory() - * // Outupt + * // Output * // [ * // "[Director] 2021-04-05T14:09:26.625Z - Getting publisher connection data for stream name: 1xxx2", * // "[Director] 2021-04-05T14:09:27.064Z - Getting publisher response", * // "[Publish] 2021-04-05T14:09:27.066Z - Broadcasting" * // ] */ - getHistory: () => history, + getHistory: (): Array => history, + /** - * @function - * @name getHistoryMaxSize - * @description Get the maximum count of logs preserved during a session. + * Get the maximum count of logs preserved during a session. * @example Logger.getHistoryMaxSize() */ getHistoryMaxSize: () => maxLogHistorySize, /** - * @function - * @name setHistoryMaxSize - * @description Set the maximum count of logs to preserve during a session. + * Set the maximum count of logs to preserve during a session. * By default it is set to 10000. * @param {Number} maxSize - Max size of log history. Set 0 to disable history or -1 to unlimited log history. * @example Logger.setHistoryMaxSize(100) @@ -164,10 +137,8 @@ const Logger = { }, /** - * @function - * @name setLevel - * @description Set log level to all loggers. - * @param {LogLevel} level - New log level to be set. + * Set log level to all loggers. + * @param level - New log level to be set. * @example * // Global Level * Logger.setLevel(Logger.DEBUG) @@ -183,11 +154,9 @@ const Logger = { }, /** - * @function - * @name getLevel - * @description Get global current logger level. + * Get global current logger level. * Also you can get the level of any particular logger. - * @returns {LogLevel} + * @returns The current log level. * @example * // Global Level * Logger.getLevel() @@ -199,12 +168,10 @@ const Logger = { * // Output * // {value: 5, name: 'WARN'} */ - getLevel: () => loggerLevel, + getLevel: (): LogLevel => loggerLevel, /** - * @function - * @name get - * @description Gets or creates a named logger. Named loggers are used to group log messages + * Gets or creates a named logger. Named loggers are used to group log messages * that refers to a common context. * @param {String} name * @returns {Object} Logger object with same properties and functions as Logger except @@ -233,22 +200,11 @@ const Logger = { logger.getLevel = () => namedLoggerLevels[name] return logger }, + /** - * Callback which handles log messages. - * - * @callback loggerHandler - * @global - * @param {any[]} messages - Arguments object with the supplied log messages. - * @param {Object} context - * @param {LogLevel} context.level - The currrent log level. - * @param {String?} context.name - The optional current logger name. - */ - /** - * @function - * @name setHandler - * @description Add your custom log handler to Logger at the specified level. - * @param {loggerHandler} handler - Your custom log handler function. - * @param {LogLevel} level - Log level to filter messages. + * Add your custom log handler to Logger at the specified level. + * @param handler - Your custom log handler function. + * @param level - Log level to filter messages. * @example * const myHandler = (messages, context) => { * // You can filter by logger @@ -267,11 +223,10 @@ const Logger = { setHandler: (handler: ILogHandler, level: LogLevel) => { customHandlers.push({ handler, level }) }, + /** - * @function - * @name diagnose - * @description Returns diagnostics information about the connection and environment, formatted according to the specified parameters. - * @param {Object | Number} config - Configuration object for the diagnostic parameters + * Returns diagnostics information about the connection and environment, formatted according to the specified parameters. + * @param config - Configuration object for the diagnostic parameters * @param {Number} [config.statsCount = 60] - Number of stats objects to be included in the diagnostics report. * @param {Number} [config.historySize = 1000] - Amount of history messages to be returned. * @param {String} [config.minLogLevel] - Levels of history messages to be included. @@ -335,12 +290,12 @@ const Logger = { } return result }, + JSON: 'JSON', CMCD: 'CMCD', + /** - * @var - * @name VERSION - * @description Returns the current SDK version. + * Returns the current SDK version. */ VERSION: version, } diff --git a/packages/millicast-sdk/src/PeerConnectionStats.ts b/packages/millicast-sdk/src/PeerConnectionStats.ts index 555581a6..f474f265 100644 --- a/packages/millicast-sdk/src/PeerConnectionStats.ts +++ b/packages/millicast-sdk/src/PeerConnectionStats.ts @@ -66,6 +66,7 @@ const parseWebRTCStats = (webRTCStats: OnStats): ConnectionStats => { return statsObject } +/** PeerConnection statistics. */ export class PeerConnectionStats extends TypedEventEmitter { #logger: ILogger; peer: RTCPeerConnection diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index a9e6a535..694b89bc 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,5 +1,5 @@ -import Logger from './Logger'; -export { Logger }; +import Logger, { LogLevel } from './Logger'; +export { Logger, LogLevel }; /** @hidden */ export * as Urls from './urls'; @@ -9,6 +9,9 @@ export * from './types/events'; export * from './types/PeerConnection.types'; export { PeerConnection } from './PeerConnection'; +export * from './types/stats.types'; +export * from './PeerConnectionStats'; + export * from './types/Signaling.types'; export * from './Signaling'; diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index 49b4d4c2..c2595417 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -2,6 +2,7 @@ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; import { PeerConnection } from '../PeerConnection'; +import { PeerConnectionStats } from '../PeerConnectionStats'; import { Signaling } from '../Signaling'; import TransactionManager from 'transaction-manager'; import { EncryptionParameters, TrackInfo } from './Viewer.types'; @@ -9,7 +10,7 @@ import { EmittedEvents } from '../utils/TypedEventEmitter'; import { ConnectionStats } from './stats.types'; /** - * Events triggered by the {@link PeerConnectionStats} classe. + * Events triggered by the {@link PeerConnectionStats} class. */ export interface PeerConnectionStatsEvents extends EmittedEvents { /** Triggered when a new track is available. */ @@ -17,7 +18,7 @@ export interface PeerConnectionStatsEvents extends EmittedEvents { } /** - * Events triggered by the {@link PeerConnection} classe. + * Events triggered by the {@link PeerConnection} class. */ export interface PeerConnectionEvents extends PeerConnectionStatsEvents, EmittedEvents { /** Triggered when a new track is available. */ @@ -28,7 +29,7 @@ export interface PeerConnectionEvents extends PeerConnectionStatsEvents, Emitted } /** - * Events triggered by the {@link Signaling} classe. + * Events triggered by the {@link Signaling} class. */ export interface SignalingEvents extends EmittedEvents { /** From 33bc7855fe0f4acb81a831650edd3080114f9f1d Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 8 Jul 2025 17:18:03 -0700 Subject: [PATCH 07/22] Update Github Actions Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .../CODE_OF_CONDUCT.md | 76 - .../CONTRIBUTING.md | 54 - .../github-pages-deploy-action-4.6.3/LICENSE | 21 - .../README.md | 334 -- .../SECURITY.md | 14 - .../__tests__/env.js | 2 - .../__tests__/execute.test.ts | 40 - .../__tests__/git.test.ts | 473 --- .../__tests__/main.test.ts | 99 - .../__tests__/ssh.test.ts | 141 - .../__tests__/util.test.ts | 349 -- .../__tests__/worktree.error.test.ts | 35 - .../__tests__/worktree.test.ts | 220 -- .../action.yml | 95 - .../eslint.config.mjs | 72 - .../integration/.nojekyll | 1 - .../integration/image.jpg | Bin 1237484 -> 0 bytes .../integration/index.html | 33 - .../jest.config.js | 14 - .../lib/constants.d.ts | 96 - .../lib/constants.js | 122 - .../lib/execute.d.ts | 17 - .../lib/execute.js | 57 - .../lib/git.d.ts | 9 - .../lib/git.js | 217 -- .../lib/lib.d.ts | 6 - .../lib/lib.js | 87 - .../lib/main.d.ts | 1 - .../lib/main.js | 9 - .../lib/ssh.d.ts | 5 - .../lib/ssh.js | 56 - .../lib/util.d.ts | 34 - .../lib/util.js | 102 - .../lib/worktree.d.ts | 34 - .../lib/worktree.js | 100 - .../package.json | 61 - .../src/constants.ts | 177 - .../src/execute.ts | 58 - .../src/git.ts | 379 -- .../src/lib.ts | 92 - .../src/main.ts | 5 - .../src/ssh.ts | 57 - .../src/util.ts | 142 - .../src/worktree.ts | 140 - .../tsconfig.json | 12 - .../tsconfig.lint.json | 7 - .../yarn.lock | 3381 ----------------- .github/actions/setup-install/action.yml | 16 - .github/workflows/check-tests.yml | 12 +- .github/workflows/codeql-analysis.yml | 73 + .github/workflows/new-release.yml | 42 +- .github/workflows/rc-release.yml | 20 +- 52 files changed, 118 insertions(+), 7581 deletions(-) delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/CODE_OF_CONDUCT.md delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/CONTRIBUTING.md delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/LICENSE delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/README.md delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/SECURITY.md delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/env.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/execute.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/git.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/main.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/ssh.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/util.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.error.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.test.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/action.yml delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/eslint.config.mjs delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/integration/.nojekyll delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/integration/image.jpg delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/integration/index.html delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/jest.config.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/constants.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/constants.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/execute.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/execute.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/git.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/git.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/lib.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/lib.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/main.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/main.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/ssh.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/ssh.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/util.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/util.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/worktree.d.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/lib/worktree.js delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/package.json delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/constants.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/execute.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/git.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/lib.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/main.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/ssh.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/util.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/src/worktree.ts delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/tsconfig.json delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/tsconfig.lint.json delete mode 100644 .github/actions/github-pages-deploy-action-4.6.3/yarn.lock delete mode 100644 .github/actions/setup-install/action.yml create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/actions/github-pages-deploy-action-4.6.3/CODE_OF_CONDUCT.md b/.github/actions/github-pages-deploy-action-4.6.3/CODE_OF_CONDUCT.md deleted file mode 100644 index c1b7046a..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -- Using welcoming and inclusive language -- Being respectful of differing viewpoints and experiences -- Gracefully accepting constructive criticism -- Focusing on what is best for the community -- Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -- The use of sexualized language or imagery and unwelcome sexual attention or - advances -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or electronic - address, without explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at iam@jamesiv.es. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq diff --git a/.github/actions/github-pages-deploy-action-4.6.3/CONTRIBUTING.md b/.github/actions/github-pages-deploy-action-4.6.3/CONTRIBUTING.md deleted file mode 100644 index c5f7e131..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/CONTRIBUTING.md +++ /dev/null @@ -1,54 +0,0 @@ -# Contributing ✏️ - -When contributing to this repository, please first discuss the change you wish to make via issue, -[email, or any other method with the owners of this repository](https://jamesiv.es) before making a change. If you are planning to work on an issue that already exists please let us know before writing any code incase it's already in flight! - -## Before Making a Pull Request 🎒 - -1. Ensure that you've tested your feature/change yourself. As the primary focus of this project is deployment, providing a link to a deployed repository using your branch is preferred. You can reference the forked action using your GitHub username, for example `yourname/github-pages-deplpy-action@dev`. -2. Ensure your change passes all of the integration tests. -3. Make sure you update the README if you've made a change that requires documentation. -4. When making a pull request, highlight any areas that may cause a breaking change so the maintainer can update the version number accordingly on the GitHub marketplace and package registries. -5. Make sure you've linted and formatted your code. You can do this by running `yarn lint` and `yarn lint:format`. -6. Fix or add any tests where applicable. You can run `yarn test` to run the suite. As this action is small in scope it's important that a high level of test coverage is maintained. All tests are written using [Jest](https://jestjs.io/). -7. As this package is written in [TypeScript](https://www.typescriptlang.org/) please ensure all typing is accurate and the action compiles correctly by running `yarn build`. - -## Deploying 🚚 - -In order to deploy and test your own fork of this action, you must commit the `node_modules` dependencies. Be sure to run `nvm use` before installing any dependencies. You can learn more about nvm [here](https://github.com/nvm-sh/nvm/blob/master/README.md). - -To do this you can follow the instructions below: - -Install the project: - -``` -yarn install -``` - -Comment out the following in distribution branches: - -``` -# node_modules/ -# lib/ -``` - -Build the project: - -``` -yarn build -``` - -Commit: - -``` -$ git checkout -b branchnamehere -$ git commit -a -m "prod dependencies" -``` - -The `node_modules` and `lib` folders should _not_ be included when making a pull request. These are only required for GitHub Actions when it consumes the distribution branch, the `dev` branch of the project should be free from any dependencies or lib files. - -## Resources 💡 - -- [TypeScript](https://www.typescriptlang.org/) -- [Jest](https://jestjs.io/) -- [GitHub Actions Documentation](https://help.github.com/en/actions) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/LICENSE b/.github/actions/github-pages-deploy-action-4.6.3/LICENSE deleted file mode 100644 index 4fef0fdd..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 James Ives - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/.github/actions/github-pages-deploy-action-4.6.3/README.md b/.github/actions/github-pages-deploy-action-4.6.3/README.md deleted file mode 100644 index e2344155..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/README.md +++ /dev/null @@ -1,334 +0,0 @@ -

- - GitHub Pages Deploy Action Logo - -

- -

- GitHub Pages Deploy Action :rocket: -

- -

- - Unit test status badge - - - - Integration test status badge - - - - Code coverage status badge - - - - Release version badge - - - - Github marketplace badge - -

- -

- Automatically deploy your project to GitHub Pages with GitHub Actions. This action can be configured to push your production-ready code into any branch you'd like, including gh-pages and docs. It can also handle cross repository deployments and works with GitHub Enterprise too. -

- -

- -

- -

-Maintenance of this project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here. 💖 -

- -

-github  annegentle   -

- -

-Chooksta69  MattWillFlood  jonathan-milan-pollock  raoulvdberge  robjtede  hadley  kevinchalet  Yousazoe  planetoftheweb  melton1968  szepeviktor  sckott  provinzkraut  electrovir  Griefed   -

- -## Getting Started :airplane: - -You can include the action in your workflow to trigger on any event that [GitHub actions supports](https://help.github.com/en/articles/events-that-trigger-workflows). If the remote branch that you wish to deploy to doesn't already exist the action will create it for you. Your workflow will also need to include the `actions/checkout` step before this workflow runs in order for the deployment to work. If you intend to make multiple deployments in quick succession [you may need to leverage the concurrency parameter in your workflow](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency) to prevent overlaps. - -You can view an example of this below. - -```yml -name: Build and Deploy -on: [push] -permissions: - contents: write -jobs: - build-and-deploy: - concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession. - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v4 - - - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built. - run: | - npm ci - npm run build - - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: build # The folder the action should deploy. -``` - -> [!NOTE] -> You must configure your repository to deploy from the branch you push to. To do this, go to your repository settings, click on `Pages`, and choose `Deploy from a Branch` from the `Source` dropdown. From there select the branch you supplied to the action. In most cases this will be `gh-pages` as that's the default. - -If you'd like to make it so the workflow only triggers on push events to specific branches then you can modify the `on` section. - -```yml -on: - push: - branches: - - main -``` - -> [!WARNING] -> If you do not supply the action with an access token or an SSH key, you must access your repositories settings and provide `Read and Write Permissions` to the provided `GITHUB_TOKEN`, otherwise you'll potentially run into permission issues. Alternatively you can set the following in your workflow file to grant the action the permissions it needs. - -```yml -permissions: - contents: write -``` - -## Configuration 📁 - -The `with` portion of the workflow **must** be configured before the action will work. You can add these in the `with` section found in the examples above. Any `secrets` must be referenced using the bracket syntax and stored in the GitHub repository's `Settings/Secrets` menu. You can learn more about setting environment variables with GitHub actions [here](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets). - -#### Required Setup - -The following options must be configured in order to make a deployment. - -| Key | Value Information | Type | Required | -| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -------- | -| `folder` | The folder in your repository that you want to deploy. If your build script compiles into a directory named `build` you'd put it here. If you wish to deploy the root directory you can place a `.` here. You can also utilize absolute file paths by prepending `~` to your folder path. Note that any files/folders matching `.gitignore` entries will not be deployed. Some tools auto-generate a `.gitignore` file for build output. | `with` | **Yes** | - -By default, the action does not need any token configuration and uses the provided repository scoped GitHub token to make the deployment. If you require more customization you can modify the deployment type using the following options. - -| Key | Value Information | Type | Required | -| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -------- | -| `token` | This option defaults to the repository scoped GitHub Token. However, if you need more permissions for things such as deploying to another repository, you can add a Personal Access Token (PAT) here. This should be stored in the `secrets / with` menu **as a secret**. We recommend using a service account with the least permissions necessary and recommend when generating a new PAT that you select the least permission scopes necessary. [Learn more about creating and using encrypted secrets here.](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets) | `with` | **No** | -| `ssh-key` | You can configure the action to deploy using SSH by setting this option to a private SSH key stored **as a secret**. It can also be set to `true` to use an existing SSH client configuration. For more detailed information on how to add your public/private ssh key pair please refer to the [Using a Deploy Key section of this README](https://github.com/JamesIves/github-pages-deploy-action/tree/dev#using-an-ssh-deploy-key-). | `with` | **No** | - -#### Optional Choices - -| Key | Value Information | Type | Required | -| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -------- | -| `branch` | This is the branch you wish to deploy to, for example, `gh-pages` or `docs`. Defaults to `gh-pages`. | `with` | **No** | -| `git-config-name` | Allows you to customize the name that is attached to the git config which is used when pushing the deployment commits. If this is not included it will use the name in the GitHub context, followed by the name of the action. | `with` | **No** | -| `git-config-email` | Allows you to customize the email that is attached to the git config which is used when pushing the deployment commits. If this is not included it will use the email in the GitHub context, followed by a generic noreply GitHub email. You can include `<>` for the value if you wish to omit this field altogether and push the commits without an email. | `with` | **No** | -| `repository-name` | Allows you to specify a different repository path so long as you have permissions to push to it. This should be formatted like so: `JamesIves/github-pages-deploy-action`. You'll need to use a PAT in the `token` input for this configuration option to work properly. | `with` | **No** | -| `target-folder` | If you'd like to push the contents of the deployment folder into a specific directory on the deployment branch you can specify it here. | `with` | **No** | -| `commit-message` | If you need to customize the commit message for an integration you can do so. | `with` | **No** | -| `clean` | You can use this option to delete files from your deployment destination that no longer exist in your deployment source. One use case is if your project generates hashed files that vary from build to build. Using `clean` will not affect `.git`, `.github`, or `.ssh` directories. This option is turned on by default and can be toggled off by setting it to `false`. | `with` | **No** | -| `clean-exclude` | If you need to use `clean` but you'd like to preserve certain files or folders you can use this option. This should contain each pattern as a single line in a multiline string. | `with` | **No** | -| `dry-run` | Do not actually push back, but use `--dry-run` on `git push` invocations instead. | `with` | **No** | -| `single-commit` | This option can be toggled to `true` if you'd prefer to have a single commit on the deployment branch instead of maintaining the full history. **Using this option will also cause any existing history to be wiped from the deployment branch**. | `with` | **No** | -| `force` | Force-push new deployments to overwrite the previous version; otherwise, attempt to rebase new deployments onto any existing ones. This option is turned on by default and can be toggled off by setting it to `false`, which may be useful if there are multiple deployments in a single branch. | `with` | **No** | -| `silent` | Silences the action output preventing it from displaying git messages. | `with` | **No** | -| `tag` | Add a tag to the commit. Only works when `dry-run` is not used. | `with` | **No** | - -With the action correctly configured you should see the workflow trigger the deployment under the configured conditions. - -#### Deployment Status - -The action will export an environment variable called `deployment_status` that you can use in your workflow to determine if the deployment was successful or not. You can find an explanation of each status type below. - -| Status | Description | -| --------- | ----------------------------------------------------------------------------------------------- | -| `success` | The `success` status indicates that the action was able to successfully deploy to the branch. | -| `failed` | The `failed` status indicates that the action encountered an error while trying to deploy. | -| `skipped` | The `skipped` status indicates that the action exited early as there was nothing new to deploy. | - -This value is also set as a step output as `deployment-status`. - ---- - -### Using an SSH Deploy Key 🔑 - -If you'd prefer to use an SSH deploy key as opposed to a token you must first generate a new SSH key by running the following terminal command, replacing the email with one connected to your GitHub account. - -```bash -ssh-keygen -t rsa -m pem -b 4096 -C "youremailhere@example.com" -N "" -``` - -Once you've generated the key pair you must add the contents of the public key within your repository's [deploy keys menu](https://developer.github.com/v3/guides/managing-deploy-keys/). You can find this option by going to `Settings > Deploy Keys`, you can name the public key whatever you want, but you **do** need to give it write access. Afterwards, add the contents of the private key to the `Settings > Secrets` menu as `DEPLOY_KEY`. - -With this configured, you can then set the `ssh-key` part of the action to your private key stored as a secret. - -```yml -- name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: site - ssh-key: ${{ secrets.DEPLOY_KEY }} -``` - -
You can view a full example of this here. -

- -```yml -name: Build and Deploy -on: - push: - branches: - - main -jobs: - deploy: - concurrency: ci-${{ github.ref }} - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v4 - - - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built. - run: | - npm ci - npm run build - - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: build - clean: true - clean-exclude: | - special-file.txt - some/*.txt - ssh-key: ${{ secrets.DEPLOY_KEY }} -``` - -

-
- -Alternatively, if you've already configured the SSH client within a previous step you can set the `ssh-key` option to `true` to allow it to deploy using an existing SSH client. Instead of adjusting the client configuration, it will simply switch to using GitHub's SSH endpoints. - ---- - -### Operating System Support 💿 - -This action is primarily developed using [Ubuntu](https://ubuntu.com/). [In your workflow job configuration](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on) it's recommended to set the `runs-on` property to `ubuntu-latest`. - -```yml -jobs: - build-and-deploy: - runs-on: ubuntu-latest -``` - -If you're using an operating system such as [Windows](https://www.microsoft.com/en-us/windows/) you can workaround this using [artifacts](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). In your workflow configuration you can utilize the `actions/upload-artifact` and `actions/download-artifact` actions to move your project built on a Windows job to a secondary job that will handle the deployment. - -
You can view an example of this pattern here. -

- -```yml -name: Build and Deploy -on: [push] -permissions: - contents: write -jobs: - build: - runs-on: windows-latest # The first job utilizes windows-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v4 - - - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built. - run: | - npm ci - npm run build - - - name: Upload Artifacts 🔺 # The project is then uploaded as an artifact named 'site'. - uses: actions/upload-artifact@v1 - with: - name: site - path: build - - deploy: - concurrency: ci-${{ github.ref }} - needs: [build] # The second job must depend on the first one to complete before running and uses ubuntu-latest instead of windows. - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v4 - - - name: Download Artifacts 🔻 # The built project is downloaded into the 'site' folder. - uses: actions/download-artifact@v1 - with: - name: site - - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: 'site' # The deployment folder should match the name of the artifact. Even though our project builds into the 'build' folder the artifact name of 'site' must be placed here. -``` - -

-
- ---- - -### Using a Container 🚢 - -If you use a [container](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainer) in your workflow you may need to run an additional step to install `rsync` as this action depends on it. You can view an example of this below. - -```yml -- name: Install rsync 📚 - run: | - apt-get update && apt-get install -y rsync - -- name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 -``` - ---- - -### Additional Build Files 📁 - -If you're using a custom domain and require a `CNAME` file, or if you require the use of a `.nojekyll` file, you can safely commit these files directly into the deployment branch without them being overridden after each deployment, additionally, you can include these files in your deployment folder to update them. If you need to add additional files to the deployment that should be ignored by the build clean-up steps you can utilize the `clean-exclude` option. - -
Click here to view an example of this. -

- -```yml -name: Build and Deploy -permissions: - contents: write -on: - push: - branches: - - main -jobs: - deploy: - concurrency: ci-${{ github.ref }} - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v4 - - - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built. - run: | - npm ci - npm run build - - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: build - clean: true - clean-exclude: | - special-file.txt - some/*.txt -``` - -

-
- -If you wish to remove these files you must go into the deployment branch directly to remove them. This is to prevent accidental changes in your deployment script from creating breaking changes. diff --git a/.github/actions/github-pages-deploy-action-4.6.3/SECURITY.md b/.github/actions/github-pages-deploy-action-4.6.3/SECURITY.md deleted file mode 100644 index 917da715..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/SECURITY.md +++ /dev/null @@ -1,14 +0,0 @@ -# Security Policy - -## Supported Versions - -The current version is actively maintained and will receive frequent updates and security patches. - -| Version | Supported | -| ------- | ------------------ | -| 4.0.x | :white_check_mark: | -| < 4.0.0 | :x: | - -## Reporting a Vulnerability - -Please disclose any security vulnerabilities either through the issues interface (as a bug) or by [emailing the project maintainer](https://jamesiv.es). Please bare in mind that this project is voluntarily maintained and updates will be worked on based on availability. diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/env.js b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/env.js deleted file mode 100644 index a63280e2..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/env.js +++ /dev/null @@ -1,2 +0,0 @@ -process.env.ACTIONS_STEP_DEBUG = 'false' -process.env.RUNNER_OS = 'Windows' diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/execute.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/execute.test.ts deleted file mode 100644 index f517e812..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/execute.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -import {execute, stdout} from '../src/execute' -import {exec} from '@actions/exec' - -jest.mock('@actions/exec', () => ({ - exec: jest.fn() -})) - -describe('execute', () => { - it('should be called with the correct arguments when silent mode is enabled', async () => { - stdout('hello') - await execute('echo Montezuma', './', true) - - expect(exec).toHaveBeenCalledWith('echo Montezuma', [], { - cwd: './', - silent: true, - ignoreReturnCode: false, - listeners: { - stdout: expect.any(Function), - stderr: expect.any(Function) - } - }) - }) - - it('should not silence the input when action.silent is false', async () => { - process.env['RUNNER_DEBUG'] = '1' - - stdout('hello') - await execute('echo Montezuma', './', false) - - expect(exec).toHaveBeenCalledWith('echo Montezuma', [], { - cwd: './', - silent: false, - ignoreReturnCode: false, - listeners: { - stdout: expect.any(Function), - stderr: expect.any(Function) - } - }) - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/git.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/git.test.ts deleted file mode 100644 index ddb0b65d..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/git.test.ts +++ /dev/null @@ -1,473 +0,0 @@ -// Initial env variable setup for tests. -process.env['INPUT_FOLDER'] = 'build' -process.env['GITHUB_SHA'] = '123' - -import {mkdirP, rmRF} from '@actions/io' -import {action, Status, TestFlag} from '../src/constants' -import {execute} from '../src/execute' -import {deploy, init} from '../src/git' -import fs from 'fs' - -const originalAction = JSON.stringify(action) - -jest.mock('fs', () => ({ - existsSync: jest.fn() -})) - -jest.mock('@actions/core', () => ({ - setFailed: jest.fn(), - getInput: jest.fn(), - setOutput: jest.fn(), - isDebug: jest.fn(), - info: jest.fn() -})) - -jest.mock('@actions/io', () => ({ - rmRF: jest.fn(), - mkdirP: jest.fn() -})) - -jest.mock('../src/execute', () => ({ - __esModule: true, - execute: jest.fn(() => ({stdout: '', stderr: ''})) -})) - -describe('git', () => { - afterEach(() => { - Object.assign(action, JSON.parse(originalAction)) - }) - - describe('init', () => { - it('should execute commands', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - repositoryPath: 'JamesIves/github-pages-deploy-action', - token: '123', - branch: 'branch', - folder: '.', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await init(action) - expect(execute).toHaveBeenCalledTimes(7) - }) - - it('should catch when a function throws an error', async () => { - ;(execute as jest.Mock).mockImplementationOnce(() => { - throw new Error('Mocked throw') - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - repositoryPath: 'JamesIves/github-pages-deploy-action', - token: '123', - branch: 'branch', - folder: '.', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - try { - await init(action) - } catch (error) { - expect(error instanceof Error && error.message).toBe( - 'There was an error initializing the repository: Mocked throw ❌' - ) - } - }) - - it('should correctly continue when it cannot unset a git config value', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - repositoryPath: 'JamesIves/github-pages-deploy-action', - token: '123', - branch: 'branch', - folder: '.', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.UNABLE_TO_UNSET_GIT_CONFIG - }) - - await init(action) - expect(execute).toHaveBeenCalledTimes(7) - }) - - it('should not unset git config if a user is using ssh', async () => { - // Sets and unsets the CI condition. - process.env.CI = 'true' - - Object.assign(action, { - hostname: 'github.com', - silent: false, - repositoryPath: 'JamesIves/github-pages-deploy-action', - sshKey: true, - branch: 'branch', - folder: '.', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: false - }) - - await init(action) - expect(execute).toHaveBeenCalledTimes(6) - - process.env.CI = undefined - }) - - it('should correctly continue when it cannot remove origin', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - repositoryPath: 'JamesIves/github-pages-deploy-action', - token: '123', - branch: 'branch', - folder: '.', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.UNABLE_TO_REMOVE_ORIGIN - }) - - await init(action) - expect(execute).toHaveBeenCalledTimes(7) - }) - }) - - describe('deploy', () => { - it('should execute commands', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - token: '123', - repositoryName: 'JamesIves/montezuma', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - const response = await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(14) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(response).toBe(Status.SUCCESS) - }) - - it('should not push when asked to dryRun', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - dryRun: true, - folder: 'assets', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - const response = await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(13) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(response).toBe(Status.SUCCESS) - }) - - it('should execute commands with single commit toggled', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'other', - folderPath: 'other', - branch: 'branch', - token: '123', - singleCommit: true, - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(14) - expect(rmRF).toHaveBeenCalledTimes(1) - }) - - it('should execute commands with single commit toggled and existing branch', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'other', - folderPath: 'other', - branch: 'branch', - token: '123', - singleCommit: true, - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - isTest: TestFlag.HAS_CHANGED_FILES | TestFlag.HAS_REMOTE_BRANCH - }) - - await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(13) - expect(rmRF).toHaveBeenCalledTimes(1) - }) - - it('should execute commands with single commit and dryRun toggled', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'other', - folderPath: 'other', - branch: 'branch', - gitHubToken: '123', - singleCommit: true, - dryRun: true, - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(13) - expect(rmRF).toHaveBeenCalledTimes(1) - }) - - it('should not ignore CNAME or nojekyll if they exist in the deployment folder', async () => { - ;(fs.existsSync as jest.Mock) - .mockImplementationOnce(() => { - return true - }) - .mockImplementationOnce(() => { - return true - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - folderPath: 'assets', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - const response = await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(14) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(fs.existsSync).toHaveBeenCalledTimes(2) - expect(response).toBe(Status.SUCCESS) - }) - - describe('with empty GITHUB_SHA', () => { - const oldSha = process.env.GITHUB_SHA - afterAll(() => { - process.env.GITHUB_SHA = oldSha - }) - it('should execute commands with clean options', async () => { - process.env.GITHUB_SHA = '' - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'other', - folderPath: 'other', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - workspace: 'other', - isTest: TestFlag.NONE - }) - - await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(11) - expect(rmRF).toHaveBeenCalledTimes(1) - }) - }) - - it('should execute commands with clean options stored as an array', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - folderPath: 'assets', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - clean: true, - cleanExclude: ['cat', 'montezuma'], - isTest: TestFlag.NONE - }) - - await deploy(action) - - // Includes the call to generateWorktree - expect(execute).toHaveBeenCalledTimes(11) - expect(rmRF).toHaveBeenCalledTimes(1) - }) - - it('should gracefully handle target folder', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: '.', - branch: 'branch', - token: '123', - pusher: {}, - clean: true, - targetFolder: 'new_folder', - commitMessage: 'Hello!', - isTest: TestFlag.NONE - }) - - await deploy(action) - - expect(execute).toHaveBeenCalledTimes(11) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(mkdirP).toHaveBeenCalledTimes(1) - }) - - it('should stop early if there is nothing to commit', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.NONE // Setting this flag to None means there will never be anything to commit and the action will exit early. - }) - - const response = await deploy(action) - expect(execute).toHaveBeenCalledTimes(11) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(response).toBe(Status.SKIPPED) - }) - - it('should catch when a function throws an error', async () => { - ;(execute as jest.Mock).mockImplementationOnce(() => { - throw new Error('Mocked throw') - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - token: '123', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - try { - await deploy(action) - } catch (error) { - expect(error instanceof Error && error.message).toBe( - 'The deploy step encountered an error: Mocked throw ❌' - ) - } - }) - - it('should execute commands if force is false and retry until limit is exceeded', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - force: false, - token: '123', - repositoryName: 'JamesIves/montezuma', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - try { - await deploy(action) - } catch (error) { - expect(error instanceof Error && error.message).toBe( - 'The deploy step encountered an error: Attempt limit exceeded ❌' - ) - } - }) - - it('should add a tag to the commit', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - token: '123', - repositoryName: 'JamesIves/montezuma', - tag: 'v0.1', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - const response = await deploy(action) - expect(execute).toHaveBeenCalledTimes(16) - expect(response).toBe(Status.SUCCESS) - }) - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/main.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/main.test.ts deleted file mode 100644 index 19a2a83d..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/main.test.ts +++ /dev/null @@ -1,99 +0,0 @@ -// Initial env variable setup for tests. -process.env['INPUT_FOLDER'] = 'build' -process.env['GITHUB_SHA'] = '123' -process.env['INPUT_DEBUG'] = 'debug' -process.env['GITHUB_REF_NAME'] = 'test' -process.env['RUNNER_OS'] = 'Linux' -process.env['CI'] = 'true' - -import '../src/main' -import {action, TestFlag} from '../src/constants' -import run from '../src/lib' -import {execute} from '../src/execute' -import {rmRF} from '@actions/io' -import {setFailed, exportVariable} from '@actions/core' - -const originalAction = JSON.stringify(action) - -jest.mock('../src/execute', () => ({ - execute: jest.fn(() => ({stdout: '', stderr: ''})) -})) - -jest.mock('@actions/io', () => ({ - rmRF: jest.fn() -})) - -jest.mock('@actions/core', () => ({ - setFailed: jest.fn(), - getInput: jest.fn(), - setOutput: jest.fn(), - exportVariable: jest.fn(), - isDebug: jest.fn(), - info: jest.fn(), - notice: jest.fn() -})) - -describe('main', () => { - afterEach(() => { - Object.assign(action, JSON.parse(originalAction)) - }) - - it('should run through the commands', async () => { - Object.assign(action, { - repositoryPath: 'JamesIves/github-pages-deploy-action', - folder: '.github/assets', - branch: 'branch', - token: '123', - hostname: 'github.com', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.NONE, - debug: true - }) - await run(action) - expect(execute).toHaveBeenCalledTimes(18) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(exportVariable).toHaveBeenCalledTimes(1) - }) - - it('should run through the commands and succeed', async () => { - Object.assign(action, { - hostname: 'github.com', - repositoryPath: 'JamesIves/github-pages-deploy-action', - folder: '.github/assets', - branch: 'branch', - token: '123', - sshKey: true, - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - await run(action) - expect(execute).toHaveBeenCalledTimes(21) - expect(rmRF).toHaveBeenCalledTimes(1) - expect(exportVariable).toHaveBeenCalledTimes(1) - }) - - it('should throw if an error is encountered', async () => { - Object.assign(action, { - hostname: 'github.com', - folder: '.github/assets', - branch: 'branch', - token: null, - sshKey: null, - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - await run(action) - expect(execute).toHaveBeenCalledTimes(0) - expect(setFailed).toHaveBeenCalledTimes(1) - expect(exportVariable).toHaveBeenCalledTimes(1) - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/ssh.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/ssh.test.ts deleted file mode 100644 index 36f9b8b8..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/ssh.test.ts +++ /dev/null @@ -1,141 +0,0 @@ -import {exportVariable} from '@actions/core' -import {mkdirP} from '@actions/io' -import child_process, {execFileSync, execSync} from 'child_process' -import {appendFileSync} from 'fs' -import {action, TestFlag} from '../src/constants' -import {execute} from '../src/execute' -import {configureSSH} from '../src/ssh' - -const originalAction = JSON.stringify(action) - -jest.mock('fs', () => ({ - appendFileSync: jest.fn(), - existsSync: jest.fn() -})) - -jest.mock('child_process', () => ({ - execFileSync: jest.fn(), - execSync: jest.fn() -})) - -jest.mock('@actions/io', () => ({ - rmRF: jest.fn(), - mkdirP: jest.fn() -})) - -jest.mock('@actions/core', () => ({ - setFailed: jest.fn(), - getInput: jest.fn(), - setOutput: jest.fn(), - isDebug: jest.fn(), - info: jest.fn(), - exportVariable: jest.fn() -})) - -jest.mock('../src/execute', () => ({ - execute: jest.fn(() => ({stdout: '', stderr: ''})) -})) - -describe('configureSSH', () => { - afterEach(() => { - Object.assign(action, JSON.parse(originalAction)) - }) - - it('should skip client configuration if sshKey is set to true', async () => { - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - sshKey: true, - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await configureSSH(action) - - expect(execute).toHaveBeenCalledTimes(0) - expect(mkdirP).toHaveBeenCalledTimes(0) - expect(appendFileSync).toHaveBeenCalledTimes(0) - }) - - it('should configure the ssh client if a key is defined', async () => { - ;(child_process.execFileSync as jest.Mock).mockImplementationOnce(() => { - return 'SSH_AUTH_SOCK=/some/random/folder/agent.123; export SSH_AUTH_SOCK;\nSSH_AGENT_PID=123; export SSH_AGENT_PID;' - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - sshKey: '?=-----BEGIN 123 456\n 789', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await configureSSH(action) - - expect(execFileSync).toHaveBeenCalledTimes(1) - expect(exportVariable).toHaveBeenCalledTimes(2) - expect(execSync).toHaveBeenCalledTimes(3) - }) - - it('should not export variables if the return from ssh-agent is skewed', async () => { - ;(child_process.execFileSync as jest.Mock).mockImplementationOnce(() => { - return 'useless nonsense here;' - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - sshKey: '?=-----BEGIN 123 456\n 789', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - await configureSSH(action) - - expect(execFileSync).toHaveBeenCalledTimes(1) - expect(exportVariable).toHaveBeenCalledTimes(0) - expect(execSync).toHaveBeenCalledTimes(3) - }) - - it('should throw if something errors', async () => { - ;(child_process.execFileSync as jest.Mock).mockImplementationOnce(() => { - throw new Error('Mocked throw') - }) - - Object.assign(action, { - hostname: 'github.com', - silent: false, - folder: 'assets', - branch: 'branch', - sshKey: 'real_key', - pusher: { - name: 'asd', - email: 'as@cat' - }, - isTest: TestFlag.HAS_CHANGED_FILES - }) - - try { - await configureSSH(action) - } catch (error) { - expect(error instanceof Error && error.message).toBe( - 'The ssh client configuration encountered an error: Mocked throw ❌' - ) - } - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/util.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/util.test.ts deleted file mode 100644 index 08399a78..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/util.test.ts +++ /dev/null @@ -1,349 +0,0 @@ -import {ActionInterface, TestFlag} from '../src/constants' -import { - isNullOrUndefined, - generateTokenType, - generateRepositoryPath, - generateFolderPath, - suppressSensitiveInformation, - checkParameters, - stripProtocolFromUrl, - extractErrorMessage -} from '../src/util' - -describe('util', () => { - describe('isNullOrUndefined', () => { - it('should return true if the value is null', async () => { - const value = null - expect(isNullOrUndefined(value)).toBeTruthy() - }) - - it('should return true if the value is undefined', async () => { - const value = undefined - expect(isNullOrUndefined(value)).toBeTruthy() - }) - - it('should return false if the value is defined', async () => { - const value = 'montezuma' - expect(isNullOrUndefined(value)).toBeFalsy() - }) - - it('should return false if the value is empty string', async () => { - const value = '' - expect(isNullOrUndefined(value)).toBeTruthy() - }) - }) - - describe('generateTokenType', () => { - it('should return ssh if ssh is provided', async () => { - const action = { - branch: '123', - workspace: 'src/', - folder: 'build', - token: null, - sshKey: 'real_token', - silent: false, - isTest: TestFlag.NONE - } - expect(generateTokenType(action)).toEqual('SSH Deploy Key') - }) - - it('should return deploy token if token is provided', async () => { - const action = { - branch: '123', - workspace: 'src/', - folder: 'build', - token: '123', - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - expect(generateTokenType(action)).toEqual('Deploy Token') - }) - - it('should return ... if no token is provided', async () => { - const action = { - branch: '123', - workspace: 'src/', - folder: 'build', - token: null, - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - expect(generateTokenType(action)).toEqual('…') - }) - }) - - describe('generateRepositoryPath', () => { - it('should return ssh if ssh is provided', async () => { - const action = { - repositoryName: 'JamesIves/github-pages-deploy-action', - branch: '123', - workspace: 'src/', - folder: 'build', - hostname: 'github.com', - token: null, - sshKey: 'real_token', - silent: false, - isTest: TestFlag.NONE - } - - expect(generateRepositoryPath(action)).toEqual( - 'git@github.com:JamesIves/github-pages-deploy-action' - ) - }) - - it('should return https with x-access-token if deploy token is provided', async () => { - const action = { - repositoryName: 'JamesIves/github-pages-deploy-action', - branch: '123', - workspace: 'src/', - folder: 'build', - hostname: 'enterprise.github.com', - token: '123', - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - - expect(generateRepositoryPath(action)).toEqual( - 'https://x-access-token:123@enterprise.github.com/JamesIves/github-pages-deploy-action.git' - ) - }) - - describe('suppressSensitiveInformation', () => { - it('should replace any sensitive information with ***', async () => { - const action = { - repositoryName: 'JamesIves/github-pages-deploy-action', - repositoryPath: - 'https://x-access-token:supersecret999%%%@github.com/anothersecret123333', - branch: '123', - workspace: 'src/', - folder: 'build', - token: 'anothersecret123333', - silent: false, - isTest: TestFlag.NONE - } - - const string = `This is an error message! It contains ${action.token} and ${action.repositoryPath} and ${action.token} again!` - expect(suppressSensitiveInformation(string, action)).toBe( - 'This is an error message! It contains *** and *** and *** again!' - ) - }) - - it('should not suppress information when in debug mode', async () => { - const action = { - repositoryName: 'JamesIves/github-pages-deploy-action', - repositoryPath: - 'https://x-access-token:supersecret999%%%@github.com/anothersecret123333', - branch: '123', - workspace: 'src/', - folder: 'build', - token: 'anothersecret123333', - silent: false, - isTest: TestFlag.NONE - } - - process.env['RUNNER_DEBUG'] = '1' - - const string = `This is an error message! It contains ${action.token} and ${action.repositoryPath}` - expect(suppressSensitiveInformation(string, action)).toBe( - 'This is an error message! It contains anothersecret123333 and https://x-access-token:supersecret999%%%@github.com/anothersecret123333' - ) - }) - }) - }) - - describe('generateFolderPath', () => { - it('should return absolute path if folder name is provided', () => { - const action = { - branch: '123', - workspace: 'src/', - folder: 'build', - token: null, - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - expect(generateFolderPath(action)).toEqual('src/build') - }) - - it('should return original path if folder name begins with /', () => { - const action = { - branch: '123', - workspace: 'src/', - folder: '/home/user/repo/build', - token: null, - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - expect(generateFolderPath(action)).toEqual('/home/user/repo/build') - }) - - it('should process as relative path if folder name begins with ./', () => { - const action = { - branch: '123', - workspace: 'src/', - folder: './build', - token: null, - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - expect(generateFolderPath(action)).toEqual('src/build') - }) - - it('should return absolute path if folder name begins with ~', () => { - const action = { - branch: '123', - workspace: 'src/', - folder: '~/repo/build', - token: null, - sshKey: null, - silent: false, - isTest: TestFlag.NONE - } - process.env.HOME = '/home/user' - expect(generateFolderPath(action)).toEqual('/home/user/repo/build') - }) - }) - - describe('hasRequiredParameters', () => { - it('should fail if there is no provided GitHub Token, Access Token or SSH bool', () => { - const action = { - silent: false, - repositoryPath: undefined, - branch: 'branch', - folder: 'build', - workspace: 'src/', - isTest: TestFlag.NONE - } - - try { - checkParameters(action) - } catch (e) { - expect(e instanceof Error && e.message).toMatch( - 'No deployment token/method was provided. You must provide the action with either a Personal Access Token or the GitHub Token secret in order to deploy. For more details on how to use an ssh deploy key please refer to the documentation.' - ) - } - }) - - it('should fail if token is defined but it is an empty string', () => { - const action = { - silent: false, - repositoryPath: undefined, - token: '', - branch: 'branch', - folder: 'build', - workspace: 'src/', - isTest: TestFlag.NONE - } - - try { - checkParameters(action) - } catch (e) { - expect(e instanceof Error && e.message).toMatch( - 'No deployment token/method was provided. You must provide the action with either a Personal Access Token or the GitHub Token secret in order to deploy. For more details on how to use an ssh deploy key please refer to the documentation.' - ) - } - }) - - it('should fail if there is no branch', () => { - const action = { - silent: false, - repositoryPath: undefined, - token: '123', - branch: '', - folder: 'build', - workspace: 'src/', - isTest: TestFlag.NONE - } - - try { - checkParameters(action) - } catch (e) { - expect(e instanceof Error && e.message).toMatch('Branch is required.') - } - }) - - it('should fail if there is no folder', () => { - const action = { - silent: false, - repositoryPath: undefined, - token: '123', - branch: 'branch', - folder: '', - workspace: 'src/', - isTest: TestFlag.NONE - } - - try { - checkParameters(action) - } catch (e) { - expect(e instanceof Error && e.message).toMatch( - 'You must provide the action with a folder to deploy.' - ) - } - }) - - it('should fail if the folder does not exist in the tree', () => { - const action: ActionInterface = { - silent: false, - repositoryPath: undefined, - token: '123', - branch: 'branch', - folder: 'notARealFolder', - workspace: '.', - isTest: TestFlag.NONE - } - - try { - action.folderPath = generateFolderPath(action) - checkParameters(action) - } catch (e) { - expect(e instanceof Error && e.message).toMatch( - `The directory you're trying to deploy named notARealFolder doesn't exist. Please double check the path and any prerequisite build scripts and try again. ❗` - ) - } - }) - }) - - describe('stripProtocolFromUrl', () => { - it('removes https', () => { - expect(stripProtocolFromUrl('https://github.com')).toBe('github.com') - }) - - it('removes http', () => { - expect(stripProtocolFromUrl('http://github.com')).toBe('github.com') - }) - - it('removes https|http and www.', () => { - expect(stripProtocolFromUrl('http://www.github.com')).toBe('github.com') - }) - - it('works with a url that is not github.com', () => { - expect(stripProtocolFromUrl('http://github.enterprise.jamesiv.es')).toBe( - 'github.enterprise.jamesiv.es' - ) - }) - }) - - describe('extractErrorMessage', () => { - it('gets the message of a Error', () => { - expect(extractErrorMessage(new Error('a error message'))).toBe( - 'a error message' - ) - }) - - it('gets the message of a string', () => { - expect(extractErrorMessage('a error message')).toBe('a error message') - }) - - it('gets the message of a object', () => { - expect(extractErrorMessage({special: 'a error message'})).toBe( - `{"special":"a error message"}` - ) - }) - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.error.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.error.test.ts deleted file mode 100644 index da928ce0..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.error.test.ts +++ /dev/null @@ -1,35 +0,0 @@ -import {TestFlag} from '../src/constants' -import {execute} from '../src/execute' -import {generateWorktree} from '../src/worktree' - -jest.mock('../src/execute', () => ({ - __esModule: true, - execute: jest.fn(() => ({stdout: '', stderr: ''})) -})) - -describe('generateWorktree', () => { - it('should catch when a function throws an error', async () => { - ;(execute as jest.Mock).mockImplementationOnce(() => { - throw new Error('Mocked throw') - }) - try { - await generateWorktree( - { - hostname: 'github.com', - workspace: 'somewhere', - singleCommit: false, - branch: 'gh-pages', - folder: '', - silent: true, - isTest: TestFlag.HAS_CHANGED_FILES - }, - 'worktree', - true - ) - } catch (error) { - expect(error instanceof Error && error.message).toBe( - 'There was an error creating the worktree: Mocked throw ❌' - ) - } - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.test.ts b/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.test.ts deleted file mode 100644 index 99287af9..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/__tests__/worktree.test.ts +++ /dev/null @@ -1,220 +0,0 @@ -import {rmRF} from '@actions/io' -import {TestFlag} from '../src/constants' -import {generateWorktree} from '../src/worktree' -import {execute} from '../src/execute' -import fs from 'fs' -import os from 'os' -import path from 'path' - -jest.mock('@actions/core', () => ({ - setFailed: jest.fn(), - getInput: jest.fn(), - isDebug: jest.fn(), - info: jest.fn() -})) - -/* - Test generateWorktree against a known git repository. - The upstream repository `origin` is set up once for the test suite, - and for each test run, a new clone is created. - - See worktree.error.test.ts for testing mocked errors from git. - */ -describe('generateWorktree', () => { - let tempdir: string | null = null - let clonedir: string | null = null - - beforeAll(async () => { - // Set up origin repository - const silent = true - tempdir = fs.mkdtempSync(path.join(os.tmpdir(), 'gh-deploy-')) - const origin = path.join(tempdir, 'origin') - await execute('git init origin', tempdir, silent) - await execute('git config user.email "you@example.com"', origin, silent) - await execute('git config user.name "Jane Doe"', origin, silent) - await execute('git checkout -b main', origin, silent) - fs.writeFileSync(path.join(origin, 'f1'), 'hello world\n') - await execute('git add .', origin, silent) - await execute('git commit -mc0', origin, silent) - fs.writeFileSync(path.join(origin, 'f1'), 'hello world\nand planets\n') - await execute('git add .', origin, silent) - await execute('git commit -mc1', origin, silent) - await execute('git checkout --orphan gh-pages', origin, silent) - await execute('git reset --hard', origin, silent) - await fs.promises.writeFile(path.join(origin, 'gh1'), 'pages content\n') - await execute('git add .', origin, silent) - await execute('git commit -mgh0', origin, silent) - await fs.promises.writeFile( - path.join(origin, 'gh1'), - 'pages content\ngoes on\n' - ) - await execute('git add .', origin, silent) - await execute('git commit -mgh1', origin, silent) - }) - - beforeEach(async () => { - // Clone origin to our workspace for each test - const silent = true - clonedir = path.join(tempdir as string, 'clone') - await execute('git init clone', tempdir as string, silent) - await execute('git config user.email "you@example.com"', clonedir, silent) - await execute('git config user.name "Jane Doe"', clonedir, silent) - await execute( - `git remote add origin ${path.join(tempdir as string, 'origin')}`, - clonedir, - silent - ) - await execute('git fetch --depth=1 origin main', clonedir, silent) - await execute('git checkout main', clonedir, silent) - }) - - afterEach(async () => { - // Tear down workspace - await rmRF(clonedir as string) - }) - - afterAll(async () => { - // Tear down origin repository - if (tempdir) { - await rmRF(tempdir) - } - }) - - describe('with existing branch and new commits', () => { - it('should check out the latest commit', async () => { - const workspace = clonedir as string - await generateWorktree( - { - hostname: 'github.com', - workspace, - singleCommit: false, - branch: 'gh-pages', - folder: '', - silent: true, - isTest: TestFlag.NONE - }, - 'worktree', - true - ) - - const dirEntries = await fs.promises.readdir( - path.join(workspace, 'worktree') - ) - - expect(dirEntries.sort((a, b) => a.localeCompare(b))).toEqual([ - '.git', - 'gh1' - ]) - - const commitMessages = await execute( - 'git log --format=%s', - path.join(workspace, 'worktree'), - true - ) - - expect(commitMessages.stdout).toBe('gh1') - }) - }) - describe('with missing branch and new commits', () => { - it('should create initial commit', async () => { - const workspace = clonedir as string - - await generateWorktree( - { - hostname: 'github.com', - workspace, - singleCommit: false, - branch: 'no-pages', - folder: '', - silent: true, - isTest: TestFlag.NONE - }, - 'worktree', - false - ) - - const dirEntries = await fs.promises.readdir( - path.join(workspace, 'worktree') - ) - - expect(dirEntries).toEqual(['.git']) - - const commitMessages = await execute( - 'git log --format=%s', - path.join(workspace, 'worktree'), - true - ) - - expect(commitMessages.stdout).toBe('Initial no-pages commit') - }) - }) - describe('with existing branch and singleCommit', () => { - it('should check out the latest commit', async () => { - const workspace = clonedir as string - - await generateWorktree( - { - hostname: 'github.com', - workspace, - singleCommit: true, - branch: 'gh-pages', - folder: '', - silent: true, - isTest: TestFlag.NONE - }, - 'worktree', - true - ) - - const dirEntries = await fs.promises.readdir( - path.join(workspace, 'worktree') - ) - - expect(dirEntries.sort((a, b) => a.localeCompare(b))).toEqual([ - '.git', - 'gh1' - ]) - - return expect(async () => { - await execute( - 'git log --format=%s', - path.join(workspace, 'worktree'), - true - ) - }).rejects.toThrow() - }) - }) - describe('with missing branch and singleCommit', () => { - it('should create initial commit', async () => { - const workspace = clonedir as string - - await generateWorktree( - { - hostname: 'github.com', - workspace, - singleCommit: true, - branch: 'no-pages', - folder: '', - silent: true, - isTest: TestFlag.NONE - }, - 'worktree', - false - ) - - const dirEntries = await fs.promises.readdir( - path.join(workspace, 'worktree') - ) - - expect(dirEntries).toEqual(['.git']) - - return expect(async () => { - await execute( - 'git log --format=%s', - path.join(workspace, 'worktree'), - true - ) - }).rejects.toThrow() - }) - }) -}) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/action.yml b/.github/actions/github-pages-deploy-action-4.6.3/action.yml deleted file mode 100644 index 23348871..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/action.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: 'Deploy to GitHub Pages' -description: 'This action will handle the deployment process of your project to GitHub Pages.' -author: 'James Ives ' -runs: - using: 'node20' - main: 'lib/main.js' -branding: - icon: 'git-commit' - color: 'orange' -inputs: - ssh-key: - description: > - This option allows you to define a private SSH key to be used in conjunction with a repository deployment key to deploy using SSH. - The private key should be stored in the `secrets / with` menu **as a secret**. The public should be stored in the repositories deployment - keys menu and be given write access. - - Alternatively you can set this field to `true` to enable SSH endpoints for deployment without configuring the ssh client. This can be useful if you've - already setup the SSH client using another package or action in a previous step. - required: false - - token: - description: > - This option defaults to the repository scoped GitHub Token. - However if you need more permissions for things such as deploying to another repository, you can add a Personal Access Token (PAT) here. - This should be stored in the `secrets / with` menu **as a secret**. - - We recommend using a service account with the least permissions necessary - and when generating a new PAT that you select the least permission scopes required. - - [Learn more about creating and using encrypted secrets here.](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets) - required: false - default: ${{ github.token }} - - branch: - description: 'This is the branch you wish to deploy to, for example gh-pages or docs.' - required: false - default: gh-pages - - folder: - description: 'The folder in your repository that you want to deploy. If your build script compiles into a directory named build you would put it here. Folder paths cannot have a leading / or ./. If you wish to deploy the root directory you can place a . here.' - required: true - - target-folder: - description: 'If you would like to push the contents of the deployment folder into a specific directory on the deployment branch you can specify it here.' - required: false - - commit-message: - description: 'If you need to customize the commit message for an integration you can do so.' - required: false - - clean: - description: 'If your project generates hashed files on build you can use this option to automatically delete them from the target folder on the deployment branch with each deploy. This option is on by default and can be toggled off by setting it to false.' - required: false - default: true - - clean-exclude: - description: 'If you need to use clean but you would like to preserve certain files or folders you can use this option. This should contain each pattern as a single line in a multiline string.' - required: false - - dry-run: - description: 'Do not actually push back, but use `--dry-run` on `git push` invocations instead.' - required: false - - force: - description: 'Whether to force-push and overwrite any existing deployment. Setting this to false will attempt to rebase simultaneous deployments. This option is on by default and can be toggled off by setting it to false.' - required: false - default: true - - git-config-name: - description: 'Allows you to customize the name that is attached to the GitHub config which is used when pushing the deployment commits. If this is not included it will use the name in the GitHub context, followed by the name of the action.' - required: false - - git-config-email: - description: 'Allows you to customize the email that is attached to the GitHub config which is used when pushing the deployment commits. If this is not included it will use the email in the GitHub context, followed by a generic noreply GitHub email.' - required: false - - repository-name: - description: 'Allows you to specify a different repository path so long as you have permissions to push to it. This should be formatted like so: JamesIves/github-pages-deploy-action' - required: false - - tag: - description: "Add a tag to the commit, this can be used like so: 'v0.1'. Only works when 'dry-run' is not used." - required: false - - single-commit: - description: "This option can be used if you'd prefer to have a single commit on the deployment branch instead of maintaining the full history." - required: false - - silent: - description: 'Silences the action output preventing it from displaying git messages.' - required: false - -outputs: - deployment-status: - description: 'The status of the deployment that indicates if the run failed or passed. Possible outputs include: success|failed|skipped' diff --git a/.github/actions/github-pages-deploy-action-4.6.3/eslint.config.mjs b/.github/actions/github-pages-deploy-action-4.6.3/eslint.config.mjs deleted file mode 100644 index 94a01764..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/eslint.config.mjs +++ /dev/null @@ -1,72 +0,0 @@ -import eslint from '@eslint/js' -import tseslint from 'typescript-eslint' -import eslintConfigPrettier from 'eslint-config-prettier' -import jest from 'eslint-plugin-jest' - -export default tseslint.config( - eslintConfigPrettier, - jest.configs['flat/recommended'], - eslint.configs.recommended, - ...tseslint.configs.recommended, - { - languageOptions: { - globals: { - process: true, - module: true - } - }, - rules: { - 'jest/no-conditional-expect': 'off', - '@typescript-eslint/ban-types': [ - 'error', - { - types: { - Number: { - message: 'Use number instead', - fixWith: 'number' - }, - String: { - message: 'Use string instead', - fixWith: 'string' - }, - Boolean: { - message: 'Use boolean instead', - fixWith: 'boolean' - }, - Object: { - message: 'Use object instead', - fixWith: 'object' - }, - '{}': { - message: 'Use object instead', - fixWith: 'object' - }, - Symbol: { - message: 'Use symbol instead', - fixWith: 'symbol' - } - } - } - ], - '@typescript-eslint/array-type': ['error', {default: 'array'}], - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-unused-vars': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - 'object-shorthand': ['error', 'always'], - 'prefer-destructuring': [ - 'error', - { - array: false, - object: true - }, - { - enforceForRenamedProperties: false - } - ], - 'no-console': ['error', {allow: ['warn', 'error']}], - 'no-alert': 'error', - 'no-debugger': 'error' - } - } -) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/integration/.nojekyll b/.github/actions/github-pages-deploy-action-4.6.3/integration/.nojekyll deleted file mode 100644 index 8b137891..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/integration/.nojekyll +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.github/actions/github-pages-deploy-action-4.6.3/integration/image.jpg b/.github/actions/github-pages-deploy-action-4.6.3/integration/image.jpg deleted file mode 100644 index 16bcd3d212d45f9cc0bcf963b49e64591025950a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1237484 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℘)?`Q~)@p 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∋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 z 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 TbCn89Q0K#-d5xb|E9Se`mVPyr*|{ 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

b&{z@7LJ; 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�ho|Yy4acU7LxV8sIdpk?KBXTDmm_hr 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

nDv8f>zwN9k+d1#|oob5_k1w~; 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�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

5Zs=^`{G6`}i4ss~R3MwKw zrQh*F-FGEN)ktz2-fB7Nv{80p^75r6$N5rI+$e3yu0out{KB}QK~q7dBAfYB_T0L) zO$HW-WRJx#xsgMn;(*$olc_)|B;m@8P}{k2`;gi_I+s)RNA{s9qhZr=Cb_CL7g0?r zAudL836ww}(J)06p+a1yng^*jlu@WRE+qtFhVEL5ZK_vF9jT?-J*Co+;kMNyf@$hX zOdCTX-jTQwT%^;PC8ZJDqG@)GO{iAy=2EFawF|1%nT6N}HQ_|VA8M6qVZxjM!9YI0 zd6dz#Q-`e+3Lb+MBHu*XZ`QwMCKVWveDO5~9s;YH`*})$VRMU@#xg`h5aocXI zo=hE`ap&s}YTFW=aZapW4Id>L3*1>M5i@VPvup97-!~` zsfSvCjiOg5Z@KD_`bSj58u};01m&3kwN7d@bD27n<)TV`FiE6ni^_bN0Tr=2ZQ`a( z0gGNy_bRD9Cqamuc~!AQgtEzb@>f#yW4CB0XRi!#k{3u!eEq7=wX%~AHJ;0nj{Vz} zT)7i-0{GG-8m%*P481N6H-6%&K}dzP>R49-ViN`-bZt@Ga$o|;ktqK~2*LPc@7>|=K_){$_- zHIU7Xu>$2SYLghnl0 zUS%QKin1NtV**!9n0I2J!XI^+o7*_?kHc@4D=@MlOgv;j;GzhTwm@BeY4Y&Ql5P02 z2nq7VM|r`3*xAJuN@LR+p^oDk)mR)nGf}1BFq>}r+0?8lCLm!i<1kPKYk~92ZQ1E+ zu*b$su;F4=?bifp4>)a8SJ??N*IWUxGNviRQ99W9}7c+aYT4Ew{Pkv#z!QDA>2D z7c^B6SpNWP?;S(rr0?8kyK+Xw!M^1%2Hz0{tL*3CyxuPrK{csm5bP3KY&2Q^Hr9xI zl@Wjp#$P}epHd;tonhcT$@kIhSFO4k?x|0FAe+u0IHYMa%kDkkwj2VBhpE&Ge5_iAF)YZH2|8`(rY25h z{T_G8b{-`cN!xDvks4Xjxy-Ap^HH%_8A`D$#iu#ogIi3TOD&pXb)^*rJIyvF;kUo? zrU=!`w?f}2tH(Skj$Os-p}QOAxAPw~5kj;`8^4tO6%T5d7O|$=u)Ie6NXMyY<}&-p za@yN!pAjLL?h`Xbzk(_o0^BWEZMHUYs@rJbL|=;VkGTdHiVE*sTM z!94yaX^6mB)A?1)LL+KIN=6z6}CEAcniDe^ZEonl@d}G zH}oqcEAdvQre=m+hOTwJLMnWSO*1XsxlP`9E8fkynA`4Kv>dbvN5+fy<9Yj_4YgGj zlj_zfsL{sH2B2DEVR73crgndGg22tii z>P4s3xi!_KFh8O~jl9~W+PPSS6bZk&mLk+dO4_Qg6nAh_WZ$6JeMp-{o4L0+P{&c+ ztY@MbBz=79|t2-ZMwL zl`ZCq*046TJO2P*a&|2tD9%%I*G2xZOq+8mL|u16Y-vR|*(MQZq7Zm4{%D{}_>-22 zj#te`C#8(bJ?lYL&l65NoiBD+daYK8GS|OjID5d;{wtn-)G0X;X}^LtaX6^`pO^1a z0_j{NMM8>yY)!af?aDVYP7*zmbxKM^qln8w*+)?+Cpt8jrPc9#)*yp|u9*-KeMS%%;O)y2v_s==hmx7~W& z`v6<*** zUc^-&0tvQeS#kG#KBc9XaC%3Wl`xS!?Xsm)4s~+tB;2?>B2j0mFzH#9()+V+Su<}2 z{ZyXOxXW^lu+vve51Pl!xa0=bouHDtYY>%gS2}D!oosf&NII~%v&We*#g>tCeJZ+J z;)lGH{?NoHs z4L!?Ms_$u-gu%nYYx<#Jva=IUjjfa<$5SMopOo*|gFxYs$pQF<{{SU%+bP*>GYf7` zND3tPBtD;-)PB>ZZEYd;rxRjJ3+|FY1vDc-kF|M;Mbeo!Tq~Y)&MHf}j=ob5m0v$J z6T0#8U8zWKo}5)Y)Ga%2=17ea0bVQ>ptP7P3^|57w7bD;SSr>b;$-nM z^+pSuWSZaJJz>(Q>1b5!;%KtoGoaq+?($J3wJGOsqm7UEDgBtg_J(68;(*kYm}(Z3 zVVS2vzC!g>&$iQ#USs`HuDprM_aqLbg-w%of-I42Mwu{(<%X&hwznw;RrpH{LWdF( z8&?6GJ*s{nHT=q@zOQQCeTHnaX~#vau5)uBzq^0&E<$gaNNh(b&vF5_E=9Y?kW*ca z%2Tklq88Lg2Da@*UExIN{61pyRwCx&15~nwZdHV=8jW{x`K(**x{fy8wN2$8Raj7| zD+y-m;E9#1GSn1CrG2}4BCRm}CBCb?lSFM1_9HV3eXACgfpVXVBP zTQ8WjVk1-a`v>B5uTSh#Wf>=?UUXvP;cH_aB1;R|=9+=` zm$heyFDmpr0lQt;N8y(3t5~c1Gn47K?0hi^j8_n5YYi7{%giY5h&HP+Nq~+b?8Lso z1GEC$cBws?c)x6u@{LT9?Sr=Ts=vf|WaAy?UBis2mk17^Ytd@|0PAtBzh!)p=S)sb zkHvSLO_Ch5@Y+$Z5@4{*PF1oUfq43h`<(@!?=1C44+ zXv3!dBHl|t+{Lt{7HUpjQVr+XQ|VUt8^8FIjX3Qd4QiGBS-*Jo=Mdmww+6jERI8WF47d}*O8{$u) zo|kzMEe-=VGU6axnKS)WHVh0*NjQ1-%{E(VT*}r(@fp_p>o>}EQF&$F9*>K?D&Uq$ z1+9ST1yP5S7y1&YnSGb1&G|v2XXK0x(c7C=EOi0Ku9|hHcidc5Yy&P!w8NS3OiCY= zmZn-?#q^l!`c``sZs~^X>gru$G_!Lb?G;LhP~O@8L~rZE*| zJr41JVluw=>qsv*!pn1Z5eW$Fs^@rKt?Z+ZGm6N*$m|!q{j1X1d~puSPBSuMPBcXu zmyb)$73?uH{>~@lw-^(Wa`<%PEx18@pQ_$DV$mc15l?{Q@0{MU;5DuMiWlNT($g59 ze3U!F{{Ro^UVAp%Z3}`96ba{dLIu*Uqy$I3Hv=fzH42j5C1$#4Fk_f|yWOSQ0)dIR zGIEXg>3g%L&x%=6?&B{u&bcn#NRqSsQ)~)ljJ-S4d5yw73fjM`Gd`%hQ7eX&q_o}+ z0wh|H!>L$yem&8$Y9t4HUL;}Au(D1~!ezX@Of)63?D&D=2G{%6*B-yKZCtp7B-nIq z=Gv(7$%e*wm~FRv!MEkXT?{g%*pztN&K^}?iNe{BRo<*m+Yb2M&aH5F54yVBubf`H zX6}_65Zh~{T*|rPA!|b4(@|Oz`(G$RK`?h^<)y(zm|!FUFfp{Y2@EC-BP@3{$ca)7A`U8t~?!^@{wXVmV`n zKJW}?T9^X<)%TD6jAv$MneAIfV;OwFbNQCBTUK%AC&+P z(@q0wW94f@2-_cR7hN2~C=4%(i91NQaKSWN)f^% z8pq8c(j&n55XLb{rwFGWmg%)Ht-FU66zK`9PD*FIVY4JVxGze=u_m!5DE1Oib_2MD z&2C;`v=6fztB!t7&$adM$&X z-Ocq66tfLB4GS;5Oy7rc5p6M((z7fZktZN+5p9a8IL5Sq!q_eE?DoP<(kGlcbpxEL zxG?D>ZOUTq!PD|EM@r>}Jn3$+g6pG~tRZw&#N>d&BM$jjA?P-$=b0dfHq>9VEqV-- zOGwh=MYfT)kxaG7LbjEt8@4B1Q8bAZV+tlw+R_ciBkG(L;Sq|dA_cr72qdT3H_Jgv ze05cqSIn1HxHLpg1O$Cb)ON_$O~TR^sNVU?A(Lx6Y=kpy>aqJZEZ5ZW>K;l3ek426gi0rd^So+rX)vQq1EW98*$6Z5T(eKwAszD*w-<`FOZ=VvhaqCs5@?`!8+*MZLmW^5%_fggcoMSf}r*u3EZZR&~Q6223EXQl9I#EjD9ZFS0^=tObJDt zW=bC-cGY6caF-_rQJixPi=X`Eddl|D+3u8c47U0riMM`{g~jBXi8U`MLkWyi53spo zoQIhtP6KUXGLbL-YMPadi8n$Vz?R^*kp^}$>^RWQJ|mgQ70jHOL;$9m-SsKz#z+~+ zwPm8z6u;ae&QQs}0sjEzsK2^qWrV{~-9-CCG#iVJ@8$6n)V1R$8QwOx`yB8 zMu3; zi0YXj(Rfao&=GM12<2oqMFTFet08o4Qvk;-E!9T0zm*==;2~liQ$s=8q+C8qD@E>e zm&p{g0Y%clM9HB@)DOIf4=QdRH-m=~av5d9DFB>W%h-8qq0D$woe_f2N#=+2F(BZSE;7Vj|6Qx&5 zWN^*L+gB*-ki2sVY%r;!aKkg&u>?&YfX_JddMUUwgvgNreAimp=E;j~+m^&_k5Y|o zjh(vR%>|c!c;M5<&aMWuT6`_Jw`5tGd`rX{j1~KGnoSsv)?sbD&v}*F`*&PE;a*_i zI@|e9+%EjW)$f>qmDh+We$Zjf;4F7RY~@WU!5Y9 zp`}I$5bg4g)x#J@7QzwHHk);XQH~MH7l%P9yJ zoY9Kv7ndrjKS?{XYB7qI!+;Lk8vQ?+MiY)rPB7YvBw|^hFpZ$PQhjsF9zNOpAaEu- z7l%68!Z$TnDbPz}U00O<0NKgs9Kf;(nB`^GtJOUJ0GWL}GrB)5`5JWO%e?5FrR_D%bwB;UF#tLTw(PqGe3e_uIWIWMKqya30GE% zhNS6SxcXEKNlI}`)SO>50;2EAiS|t{sv;ToO;030x&-^7lsyqT5bL!XK!0g!yc_<| zl3?ZwGcaxVWIJOHgBA1>pBPu2{v%3f;13I+F}G2KcrF~OcB|L;?7tpo#w^D9Hm}m) z+^d|0FQT`b02%q_q9Frm$|#dV;hlO{hJ1dGlejio+xC@It}4BV(Cm(icx%d$^jbZ4 zwLk2K!-{a}!B$o{d|U4WnV@wqU;H7O7Q0Nq7G;+Hi^W(gT@!-T_I7BSoClyg#@Mdh zd-b!+&cX8IeV=ffZM%JL^j%%*x3Tj9Ioa7Kz=k%DlCYxpR(B81<%zBIbyBY4n17j8 zO(+e?D4aI(u0VrqOLA$(iS8ktwxCWslMCFHG>|1%Cax_|aYBeFu5zK5x%HO*12s%;e!9D*6ChXo(01Y`r{Q)yKgpojs* z4yr-HM{*mG1mn3zB_!cg7a{$sfF6hxuPTyoD4;n65Y7k=bE$4YL?vN18EB%ts+d}+ zlQG(?8${vrKygYdY*8On*hHc`)TN-i%!Eo85>cPgOnMYio`%(6LO3X{b18=f72ah; zRUe34q`S+?hC}qA4-|z9zcMMnl5jvh(D@}wDFyM+kQWrTOU_+%P5ds^R zCUyc8XyQD{EuiS6+vu51wxq)C6rt3IMK09A1tu3@({9ug zfk3oU?b?S;!&Nl9Mz_@uiFqlcB_0X3siS&AZMsZ@n#RSdc4|f0R-1BP$7@Qg`-4r| zCytFBgH^*dJ$A>F#ru+y?>C(;We+9817_A-whDh`W@TQO?$KykZr!L|swQCDl$i)x zTrOPtx^~>Du?aRtSmt3aE?>_ZwOPqH%0g={WN0ewrzeTAZI>fzj_j4$S&x)2^hjA$ zV-4Zr*^IElCGLWQf`GX?Y&uqjl~U!V zpyG3Rmy5u0Ap+Y}2@)|rT7tB+a>PJrD;8_~STiuol6E^U5qqg4&9xTy1$L;d!k&r8 z8a1}1?t;WDt|a0gvzqX>wB0DOn1!FT^2B2d!rZy6O4BAmqqpWs1>=5eIsh3!D77|b z7Wi?ksNJ1lrZFbu;dhDtRbJsanYcD|trucRrtw!v_drJ{Y;HnPu_;I8r)8zM%sOdj zz*(NR_(A9OE4+QlNaF1{a|Ck$-xW_bH@C~oTvn5MW~bZ-XRmXVeHF$KJ{{YXX~x01 zF?5cb_*#R7o2|?Uky^vPs_5R%?MUAIgI4Ymp?xB%<{6`w4@!0@?ssU2ulW=pk8qaa z{$vnH9p=j{u;z+B$hT;8t5)o@Z&#A(d0Xwbr8@xz=^_rVMO#ei;T*ei{ME$X$zKOj zEf#0I<-g<)vb_q`MMwvu- zmo0hU9K{w`FMlw!0ai|Q+o1X_vTK@%kn*9iqAeSxNSz;b&Wl#l$y&`GMiy^#I@hYN zmI5>NPwi`sw}X&b@iv7NRZbsk&)!4vwb5v35O~PBLzPfrP$BtPtz?Mec|+~0qS`=f zGRuZO4fR(qxDGr)D#d`|EZYtlV_nOOVii}oc!@lIS!y8D#0Z@rceJJ4RLJc!)W zLv?Qd03wBn5tFSmwjwG};v?d5RDiK_fDC3E+*bURULM|C*MRKminOb7d!KSbN~5%pCuUkU?X`^)0yfFJd4H8y z;|+ky0Ep4jE!65&Q}+zF=2V34&diA6js=^R+Z1& z{{ZDIVv?(3P%TuDn4nEwFqgZ&p+gqc`P4r^xR>bN38doD~OAsbNYFdfCY zT{7vHD{1{zQ^O`=P#)!(Z^|7?wCy6hr9TX^4$VG1qC1m9MkSYS(WTySRj!E+@6|}W z<8P82@SevH?5K~$bC4~YlJHGFWvD|A3BTZ+CGJREySbG~ly@Ui=138z$#LEMG3rQK z{{Sj!5-R1l338+enR8l)^(CcM2;e!)n%LcS;-&;@m#djgsU<{UT(nXK8&JYKkw!IH zveefEdeQ@78>*0CbDvLA zuf^RspLCYf-xY0&A9t1Ac4MAOgm33ozJvk((o!WtraQJKhOP*yr3{uv?~JU-=Is|Q z9aCBwkta(HcakkVs!Li0$Ps)cECgX{G?QL0H|U3n5er3^{LxvHN|)f{vn0T3=StSd zwk-HUAHu4s?8_qL)3ba8IX^PdzpKILwux(Kh(i|2>&ZxJ*lsJJrpq>aZb^zpU7#R$ zaT3P%(Aa4Kxtabqs$6a&Q&U;)Pyl#yT7=9l%x$wU6ZBM_t;;F7d3NTA$*+w?XaW?1yp|f|;eP~qu2XVNw3CZZGlyZBHUu4S;E%a^V}$$DUFq@?aFJ)` zCTFMn?BkXH0Cx{+D{!FRLA7?pjw=pVzho{1hVMF={6I(o+#Y)I=H*=&D?3>MMiIFt z(%7G#VtZN$?NABerG;$}jA>xqTap8$L_p#_w+LK2g#^hK$`hqAFyDkB;m7JwLCU)@ zc`g`$__Q8XZ6g-v8JcCsESi=N1byn)urB3xhGz|SRQr}RId7CWw4~04E=;Yz+CxHD z{g{&?n8aqkXaglK&xLsWUsZM6j36-lL-$5z9g`~~nH7?nGuvx~O&?FSNw(G#f;4E% zoAEwLDpBSUfUasIVE$dnYekziv3Mu8R8hdblv<1yW)>vOK(=f>#44*U(`<`TSCa6T zaq{mET0JVS7H}@h9c@~y=_JC9-z2vb4MrQ`w}LBLwycG#u|3?rs$&pAG37>VYBvgk zOG8rHrnR8ke&t-mH*Dor681n(cID3BZPg-&5(PSrZ@;BQmLa?eN|+-nfVotbp*@&d z-Gy>1AmMVJ(NJZg;D-C63c-`B7h6S(H3@ipGbS?j$IV*55GDu*M*&qyvioim{JzxZ z^JB^J6q)g;ZF?yOfjL(7a<;Ut+{>C48!*OYFl-(pXZZPUn z`x6yli}~JGy;V@y?}-{XN?R#WBy=P02~QCy@QIsIzQWns(N8q0M`|-s?^t z!T$giy2GdN`FtX44PsHp9F_QPK)F6k$+5{?$wQVMju}*7yK*o3>B|&HWv&%9B<2Xr z%%fs2%n?B2=CxQ|f^BtK@hQ}>y_CX*oDzNKXG=0%_Cv`_kv`PKXR#bD&9eUh8Ww14 zhh4gE9+2$V1pZXX5c!I_lo?3Nvy$KbBxT}#LbCGiJu!tbH#EqE@wZcgvB94(cQWG5 z4HjgFt@b1YaMEBouA=#u@s0)`iPPa{!t?rcUqkk2$XYk}<`o5akK;by#4~qg&#^*W z^7~e>M_V(}IVCRWlViMp%&Udmy{B|HDbm`utLDYSBXcRsTGNx2dFCF7TuMG7L~QB# zmea9Q0_5wNjg&_(%Z1C!8ZwCb`p_662A? zg8ds3qr(-KoR!JPCZ)*ByIoOR-qASQ-KE4Gm&(d<-IQ5A-wq(mxI8S~DC3;V86mjZ zGuaJ`d2iO$CP<9tn=%`Kz9*_q#mlihfZsCRv!>zMA8@1L44YF2e?e_oq?0gzX_;-g zDR5-Kk2wA0ef<=Q8iHISYoLO2J{-ka5By<`r!rF)%nbDTlMoH|OkIwY+9wPldMJF>JwlvX^r} zR-k0&0#a`kV=l>kDoZEXVhDck&_(97!0gL%Gg5KZUTJdw09rzk%zAUh0gT5LYl#Jt zhT}z3xl+oVv%^NmGlf-z)5i&cXzaSxy4{(C8Megmk$wO-JN0s^Cd5srFZ(Y+?94FY z?D5IsR>Ez!i(X}dv>U|drQ0gB4(*ETN!lYZC~r37P~-uq(NN-Y^GxnAt3~Ft9p-jb z(`sC+dL~i7AR_S4ztom$wqrA`9H1p{CN~Q<9mmxOEhLn*sCZ{A5h7W+vz3*`bZcOJ zODc^#&@+ph4r({DJSV;`uLI=Y?NX^IS0WNm}q!a^=YoH8n5YG>|a9 zOTOuT=@2m@Z(2c*ssuXG4w0>Dp5bbSTu>+7475(tsg7`}1k&58n@uV)NyZdOT4<0G zvAVE|4^=C4i z%#w{6V_n~6;;fh`#~;JiKEr)AyL zqYbfCPRq;-`AkCg9OZ%Zs?1swae;)ym^#}b3`5-CQqIq}JT5fM^wbEVGy#f}B^M=e z2HYsR00p`Y?^^3voo@D=m6*Gv_C*P_GOd$v8-b@=yUa@HAkorrq2FZA&n&BAO44dY zuybQ?uzgkWAgSJrDovQO<#}TTQ?ywX*>jg&bs-W~FUhq79EpgX-m0mMiI3ri~=`^r4cGt+9mlS7*x!l!hoBtZbUe4tZ0UO`a%c? zq;!Cv-FBQSRO-Sp))Y+3fkL`L1WCuT?6hJ<=>(a$yh`B0z*zMn6=(yM3bzU-adwBO zp`}okCl}~F(0`Q=FSHSb3HdzFp8{8xLIZ7(LfdgdATUMJrP)Va3uot}v&axx!Z3`m z-1&Q<5?2*&5Y*s^-H{O?cW=!*O7(>x;P^ZsP#JoWBQb{I4MNCa%|_pFD|(Rbwkk}! zZn#y^J4x0V&)E1OHZVLXxY}OpZd~RC+4E!?2{?tNTEWGv7`EBi<%WKdLvlAvyJK+{ z{S&mEVUzy=yPcgYz?pU*Jme?4Ioari;oc%%xvN+agh=?23YHDI7V80oMNZPc9T;YN zKPCffGqd8~8fGBP;4V1ejB!brTdi+f_j3jox&}YWh}%;I3)z=+{{Seb$tTB0oqoZ@ zN&*GiBe1@rK`zhZqU~jI*u;9Oy(=!`v_?0#%#V>cFsxXN0L4B@J~}+PtS`1r2k!XY zL(=szmOl~lhyxLoAaAA)b1y?_gE&~sO8%%K6L1#71(^f?0Oj*1bK$GaKmMdQ6RhxU z4~KowQTz99TZUZRgLeCXSFO7xIRMRhfw!VCQW%$bfxhnJXPL?zq)GBZd_VrYeVlW( zZ8+f`2>$@y5~@&ks}pVC9|?1ROlA3(tqhJL<|a6F!%njCd(`Y#2E-+C5MpE*i$)dG zbX4zE>2Lb-5$$xoXYXB|%K`OuPH(k15pzhq0qYl6qRC*=lPs5a!&rLO%H$br1GDpQ zn-dbOv{rJHLMryfC+`e@{pRegqnX}EcNkhqWQIH0H=GiVC_vw#H+T9~{J&;<9r1At z8z6-ClmvlXBRU zsoC|cV;z9PNJeK4oyCey?qGOGgZvaH`w@-=iND$I*1qeVERp3JlaCai$jc8^W>RJ? zgTmj1>vCCBl$&SeWBn+Nl<8nst5n;)jO;yYX;vAU(KijC?lJ9i4=|~EM_?`zUmAu=2P&jClZ-^EF}x;soK3$50#h! znVXAlocBPJOG5iNjGW^_^NdDh#^#1QcBOE{%G;efd@m&9ZZz4q%4qyotNttCGp=@l znd~)*24tROZVc;U2j;w&5D=E1dQ8as!)HT;R|%!4_hZkGH_)61Rl-#}qL!3u^3^b* zP6N!1iBDoE>N+70O?gs*A{61fME)u5My-BSGUgf}?yWge(!5euuA)<^0}kBJsVjV` zD3+B1yOje%HRW77Idl@!cqYFM+IvtE(%w<( zTy0o~Zh_iDrpdbS3tNWqFEzT}YU7g(S+#Z^6`{;ZbhaUiOXM-$3NrT$KPs+}Fmy+C z9Q0NM-K0exRnoTG&61BnCYo`JNQ8)Ws;-)seq0IQA&3gk;Ir;a&6vyu()Q43wz3a1 zGb%Q94Ho>D3s!NF_>He?#AWhaxD{;dytMqb zOw$3G(s3PIT(V-@z79mu;{O1fl{S=D9j(LWq_J{g!Y4Ya1JbCQI*A-Pf6}?kY3r?` z@!?z;)S@XJq&(rOH6hJX(KMqNw@AVYDn5}Lp$O=dVped3NjzRGQtV_@?Vh$H^^W80djC ztv|t7VGxIWCp6kB34A)onM%Q9Z2i>cR;=DP4MQ}`*1E3K)poSoSgsugg&qrT6ZT`C z>tMJm%^1eiw{Err%$>tX!<7Hh%xF-tFuKW9D@dw5SW{fBQvY?zx9OI2(%oUvV#<-GzK8 z?%2E;snYM#emg(Sf+bnEsadhO1f%_6t9UtSa|)R%UaJp4=c}JWO6}2d;@6c{WboI5 zw36nuekGJuL+n%KTnG^UUNBm$>5P%MeJ%J8G)`r+o3kpG#d^mB+`e7>FPh267-`{j znJsi*QGtt%H!vRw%|(0o_U%{azbA*|&f)lpp`zf_k!e!gx;&w#loRNg`B4lcg$k!G zq6Q9$y(XNRakPutfxQTQN#PX3=0Js~HmC;`Ah}T7u_6GH2&Wt&VpK&)k9tSkgckH7jP5-I8g?J{K`iZ&IlqD5X@AUAckzP+T8s zupl|j^r-GB?h1_X)AFkVBZ?tGPqjyIQUoU;qs&9YFEwCL6&{9yx|=?f6IKqvMRE&C zC{7hyzIYpOeftQ~@hGXhjV>p^#!OzA*#OI3*x z=$S-Yc6~@F6*il;qH$fpO%N3l@ihAFT$)p8ht`an(xibUC~ZXGm!$yyl!@d!Qc)Dd z+EG0;V{!&lsd0Z)M=niv1d>2y3MApR5{Z=E>Y|2RpGxXfQ4&=E1_Y9bsdyj>z+g!V z2&t)q5bA*K{djOMO(UeW@+o>ZXXY9R@sVnQcJ4l=^z1 z{{Sp`RMPfBq8W+DlSe%wrWpOwQ7wus4Oab8Z72oBqGPbR&HDY+(uU!xHe9410)vNV zqVr_KF)q~06AFi1%N)oFK}QEBp|z8YH!UVKO*q&#G$w>rdR!)8T3cez$1Qx2ZYMlW zx03TP2R>a&G@bFAwk?Dk`6;t)u=o>hRs-_lqAp3293ho&2kw+*>M=R4T7;|;IfkL zOgi9hfQOo%ZMPdlT87m#4>p2M*oEaPJ;EIb98;cO+Nmat`=Ztj0L zEb~xqEp8pxDUF+OY0nW2t7eL19c`z^t@^C(#3svM^rqDMO>x9f_^S|~W}H(`Zq!$7 zQ4Td%Ni(A^rp}aRhWUn>WGY6Yj-_CV^j^=(IVt|YnU?N1~Xsr*`M3r0NFd=Bq-m|!@(agP* zwi4_aX$7Z|ZtvZMN;_6P(aFT$X22VH>A6m)WwelwbibsOj3}sizfR>7mk)0Hxm1il zFCdJ_g}ZpBjjTI7<;RH3*-Q3`D~Vg6;ceznFwq9^ypeQBZ>YsgnTw6!Q*O0xZL2c` zeV*yIPi7ZJiQwTGWpt0JDj9RQ2JTffLS@EmZMwQ@8dyyWfX)1F(NoTyC4QtwT$zo{ zI^jdz1y4FeQyC%C^(LB#23Y?9@gQ)t9L=lLWuaL%&)ub9yrI|-?g6f1*x@si4at`o4ug;9snr}F;* z6PXrpWtx*?{o@UcG*qDRK>A{>VI;|SPBUgMom25Ltf^k3?i=X8FN3?tlvBFT zsaQ!8zubs6@}Ul&l@+hcRY)FCt$ynhO6VQ^D1i<9$j<;1Yc^1YySH6LMuOAaq)Eb? zO-bCbX=Il}~Bl>oSZ7 z2PO}2{R=hrRZonTZZ2h*M92=r=HXWEwyDgG#41a%AeHb|_Ylcj?(NH&W%$_4BOKd@2eJAH0xHiJ3AeklPON^hVFdNc`9=e7Kl@&<>y2O=~94t`%~@r z^DV?PGD#47y|U|E!{)AWr>3JW+YT@zcQj$ttL0-$e3ZGP&D>uMIaZQY&BB{+rOM9} zVn{G~f_28qXZTbtRaC)I-HGkC(M!7Fd{jW>VBP!qEnPG%-QjYk2QeYcy4zN7@r#uj zI-(*bT*?f=ZymhesClO6FqMjAvjX*}(dlwBn88;sa+@SRAs-PWX(nhp8%`|2>HSbW z;>&DY;cud-dB+`i-E!CuL?EmtS#|LEl(9yYWV5XysDg!2a`U`9%Hify*U04^Bokw;jnB#zZ zOUX`mSz=XyT;pm1w;ytqDmOM+grVAIY>K**ESc6H8%r#!Y zc5-rT8fmLWw1-lII|C4Gc-%f+DhRk}y5pC!-Oh+rT}eGS-UmF>?cP&P1X|t7qIP}h zd2?~s8gedlDMIT-I0tDEUCR|DPI#teq-92EU4s_?0KL3cZOpQnxOqJlcM$WfUi zzv;O#;H<{g1epS^(gilu#)m94>P^?mM|Z^d#jE#`m{^z zEkvdv-SD=ho|*puW*v}LzpS%r_J^)vZb*-3WBWRnOTP!yf)cIlELw52QXPS zrG&ftKwa)7!Ed`P+wROWh++Y3li%$B09VawZ`p~bMMS$S%C!8uJIUdxL0rp=ZD4@R zxY@G5%(58iv^}Ss$Rf3({^h9b$xBWY@XgF+o==7_SexmnrpbV~>zRWxC9_0JoEfrl zkRu4vgK;AnS!O54XdXDw~G+}8-G zorsaopEg`PvlH^*Nos0Vwv9GDmc%hBoK2}FUJ%JW*Am%&B~25P64G*y1O=^LwDcu{ zEI${Km=bY|nsB+pf*kz8_rCsO5oL6VoiV7HNx>nI<&Rq&tCKrw4*=0XF2A{f%Zo=@ zZ2j9K~8 zGCnJ(LRVd$cIjKm%7AKLLX?JW9;iD|+bok!f!t*7?aFpjlNb(b^Avf#f0aw@V;E*D z+NrkY-?76gfC|^o;WBTW<{1~r36P^_4yCBa>U@tJl6l<0rIx$Qw7r#vb|n0pnigK) z%(0S;xi5+ow9|hM?aN!)XGl9$Bu#GbH(m6rFxmv;CoMJI0E*xp>Qj?J5DyfgZ<@00 z=yzV#9bOpTHRV{`NdEwIC&JCgNC%DYqbX34AzUE<;o>W`Qq$~zTwn~i7hGKbkq#l~7M{_lKROUBYA z3CE}|2xw-ry{cr00rvTA+_pHL5s9^dxrjJauxm)|+PudZKi@MMdEQza6x75uSnRgI zpm804nSGo80Os$se8Z2%@H$f5~LLZj;SgswdsOILw?CR zmoENP9Zyxo1j?qIPz>OPUo=9B9~2Btca=Ju>W1wrR0GzDE9SbjN%Kg6iLP*}9!y_&@5TMD?-J7A>!I$^JCY4We)yxGoUlP}aGbA&eg zm!8rwJz`&#TjH*nOinYD%u6!yr|?xF6n8ce+aEtQ;mdB;ew&Gp2qfL>ZEe!b1pU!7{LkTLOx6^t^~+wkeg}O7Ky*`f+fiBM8w7yQ>&QJ<8u$RWP|} z7$(r)n8S)qBML{&E|85O80eUEr`cVOq-#VyB3w8nD8dk|Qgq!&Ekiaszcniip2Xy$ z>r&4|r5x8RhUf~1qzQ4x7b?x`7KZZ)#V|Ra-RBv4T4)1l4(!5C7~&6RoVm2@xD`FC z&vk)`fbRLL-p}Jt%1U=!MnQ*VAXT~rmldkZ&y$a@rQ^*AK#cR*nlC68iaQs!_GVi~ z5c-wOo86e4pU;%X9A)P~d^fiWHY zh*L~J+HMc9!`AC_Wn!jkIYdxx$G(AZRh}1?<77t2-acaIGOTsdml2kAks@TxyZn!( zRm$X6*E_3}^(C-<$wvgGBZxTNf8H~66gifqid03oNInoAjk}asx`tu7l6jX!mj++x z+=khKIhUT`nEwF0WfKpUeg;O~A2i!X%Mo_yC+AEDgE2OCiFFETt)P@34_Z?argv?H zwxqSUCNhT)V&T@JYFy;l3r2G>l6k%qhZO9#9RQ0m04~|m;%MxwDRzbtcpk&QTbt_(%US}1-LKnUN6UCRZv?{2}$1js?L@{36x zAdGv%lhWn#gt}>dNn@xSz-18?BfGlfDiHx6SgjPK94E?UoI+L?^pGjN<@mHs8`xpC zK12#>enxgz51nzd5pr5PecZ}C#H+2^FZX-x={2RkW!9+{B(r8WoUdBQTjLS7D9%PuVJ$W?j!U{45sv6yfK1Fg2gVFQhdSbjdr_JYjH|~9$b(Gk*qHO6 zIL+cD!944dN17D3F4QRp-j}tZn2R~T7B=Xb?tH|+MmTFP8;w*lzlNk?alQ}9HHo*9 zP58Ovt^SHNvs!WZxa)@}D(ftk_>VKH1fj%7I$hV=o4TOegLD#rfW8n3aNX7ftRzBg zqEKmxS*Ht2P0K7pV$Phal0?ifkqPnCo^N*5VS$wE^3xJ9c3kk*2XL8L5>-;HMY-`A zc)cOM*NjH-Pn%`v!PjNw8-7M#;yBsrf69i|QV%x7!_T_pGm8m+@KGy<(owT6Jm#1gfh|eK#^{QZD+$MCp8cOPF1Iw@ zCLre!`zfZi38M^|>*hQuTldT}yZtIt@tK=s2RWI%E?-h84p}ORSW1ZujJcG!TSx9I z;7P5JHW$n`;IJB8(Q~GaLU3oy$-DtEFC02tf7#x1E+z7Umxr9AEa%17B!Kk>96Zr= zQWL>5W^oC$-y|clDnzq^8McljE@f)lWxH>phhGz9UXx~J+)394UTgRfX|1NGXENig z&f*N+IAc^Yv6Tm)GtVcAnII@Gpz`=@2}`zFlE;$ql61{-&1+Z@ZI{iyhS zr2C9yOUbh{Fa<{gsU|FHtmNlsdl>bzkKte#fdxUM9SuPL0Jz`Vd3=)ae$sF3w0L~DcX^yvaN9gO{j3>oV@0^lb}bm+F2C7d#I|J_3`$cC znEwEE7|oUc0HKmeF3$cXlz~3iXW1qPmJyr~KfDU7>#1p0C#2iO9eK0DC9Tr?36K7g zxClzmFw^r4I(RIoj#+?Z7_CNYxzAX9Lxkb~0EvysVvo#rZhARw6K=RO1V$tB*K(I7 z+FslR+- zG$&|$C)i)aPTS%5=X?xGW!Wp};5=EDe{%aLu(<9Ij^T~=v5azE>CkWYhO@c#g_-}i`5u{g7m6LR5K2%k3~@6BKRS6=Yd z<&&6qc$;mU=_jaFE4Hk^;ua9zA=+6?QdW6@ZgN~i#v}Yisd8D*+7E7MTAFKi^ha+T zKf1>+_g!fLTy03aI%CT?r^n4W%M;RgtlX^QU?(h8C?T>}a+3Eh+hJ0emNkcBGZVD$ z3=4L_j+Nvcw2?eBv~Nj7zGL|pnP3hseq@y>8POo~ry`QR)YA6FI;8~a97f2X zV8hWmm2T%bl2X*abYy1Ta59_{_-k7sh~~GHTUIx#O%VvKxSA>#$y(lO&P;K5dSHkQ zu)k>-82O?~JnXv{0P}fVvsh*zG49fjjlNY^^KBk(R6nZiTW#gZj$`e%z#i{lIlW$p z7^Jzg;>+@pEYzEi%Gyk8ZmRbNn<I|j_9cvdvPbiB5;Agwy3ScrZ9qg zCl=;gcp(de)mTe=4QUj4BMMPEC3W6p_QP1l}A|#W(JOg#_f3+LV9Pfr+1FWW)e-=At?AbW_eAqN5mY(Hg4< z+xc$w+3Dt@-CVeGqwPAcjj_3I>DpXV4~6gs+^cZ*{FmNyfkE0K9o}o?{{Z_y$hjqo zHHnK`uAxKRKC8#f$EkgP!t!-JUQIeB0K0XlOzGA7D;cO$cL8x#Ik%1WFDvXq(DvJ6 zMEAyy5*n=k0HorGI=CsHQc{IKGDMo&PlLMPy7PPdJ8ay(wEQ@qYJ0NM!Fk2@^sGsI zYbtgP`>)_%QueRGj7X(1#xUS`d$Z?uynjXO;$_#5nfZP%dTsPAI#Td7XKvfRw-RSk z^}a2PLq$!Xqb6B@G*X7-)83B5=GM1#tSL@|mZi7;WbuI5TmP3l00uQFnKVIUKbL+T`B z(J{`X3@%h2lvKn6E<`i7B8ggDglGgeM{47T_M&tlpaZe09X6vEQWJ`SaWuo`PfVf# zQ+CzYCmIQ$=Mc9+E09e<#MG{)btDFqHmL4GgpB3AC}yY&x*8FUQJh0WMRhQsq*Hns z4&)ID2=r2l9VxV@O0Xc6&_Q+zVZ(9}3a~4jf{yeRfr<-*u|ZpJI*w4HuyP0{C?Giv zsv*HxIRqnu(n_$xhy?{^Vxu}c6+{OIXsE73nNJ}=a44#)$_gW(tj-icatexfAx@M7 zg;kWuY*Abd$RHFbfohy$fT)jc5+{;rq7iix)haH`NxCWIxkV1C$whYMG#SU_xjKo| zsv8TBE~%)z5>woU!=h>XQBRdHv_%ZGOG@&hQmeQojf93nM0CPYK}$*_7MqhP{m2lZ zL?mtLw5X^DM3fjOQ7J({F0x5ZR6>U2(ue-yfi2p0rUW+c6iRL8OIngF15a||8t&0K z$S&YIsGuZ8rBi5MBmyBQCewb1{KKkgjoc6h-?B#saxExcNh#`pH1%CiPE=c0ISO!7 zKm!W#OyR*u-RDG>)U~z=)pm+-U2e`*BHOsqD~jbbM4}FyDw}Un)+$vt=~UZ&YMNc6 zm$?YxUC>hP-^~=tdaI*ogg&)H`zf~iCR^&KNL|VkqqQ@qMJS>ACX_u?nnL!JQirI) z4ece&ViAwFie0{%rdx1%EZY=JEiz0=)Vf)l20XkF#0AgY$YL)3R9rZTr>xiMS2&jG zeB)}K*smq=^_P0zY^>vMwBUq9;cuF_1(}nE-c$1w+)?r=Ky2kEn{aKoHz3G}o7eYi+x3bzE3Dg&IA{8+23pFLXUvFeRFVVYHrYfLg~QCX655UA zq{ujJh=_p1kJU7$yZ|!ImHggGk|T44x0{tpoP{NfoFCCg?D+@n9sd9fK{SY%n~lMv zYZ>?Hxg6Z zxdGi)q7r98%$Y}&RC*QTX%)z>YjVHr%(z9)_UmICd0?|^b%coRDV>;-muvT_;JM%7 z40sCBnOvfATtv9u-KEweLzGI?jvTq+!VR=gn7eT(z+=jZ!L^kYh}8L%*>URq6a_Vd z5%D;Z2>qg%v7nTeaQo3}aS~LlL)bJwTawJVnKj-BEiM#Nr7XXes3sW}NP~sDsajxA zW-gv)q0%a;__w)UV2!lp&It?&MNMWb@`z9pVg*?z{Bs8F;{j2vF>uHJ3bPh??P^3c zymv)sNBW;BFEGv+%kGxmnkyIH2ud~G^C0p0thnY2L*pEN>TIi)ySz#%FtI5G8=WH} z-PILLe;mf@?pHSnW^SM=8Fq7Lgk5iK{z_@6mHrUMV@>-QEy{HHHwX4OSA39U#9J~J zw*Amu7eS)5e^oS_Ij4$05k-|UZh4o7TMnoINz(ATX2p7&S>n@9yDnZ=dMGU2$ULZ1 z+dMm}pCtf+++WPBS4lEB#*O8QnA@~rw(b}{eySAA3Il6*KzbC}FBDsGz*k!~teuaJ zcHI(BmK*;7hjDr;++E@CFEls9=BOs0n;f6n#^v|#{Hsw`CR&cx$(#M2e;|MzYg;|b z3nK@-D~RFlS5uD6%ucy5@pMv86TY<5%bmW>-t7KQ0hY{Y(_%&2CYCgx4Ot47Q$ z0S>WMv&I>2xIZEUilm%)a2*okMrz%8~;iO7S2g`A6P{;}hp&BHMR`+fV578RYE1WF} zS2WjVtr}_#O4|R z@UHJ26jW`Ck9e+JPJGiPz_zP7P&~U?Vc3_dDU3BhaBipFOPG`>NsEAC1r}_4OtI!x z*l|)vCHHr!Go*-8NRy3DXIoPIs(TxpxztC7vqnM6rOCCsah1t7+N1Ch^K;}XA8D9# z_BGky6BlyYwe7*CGh8K^?IVplFdi9f^GKgnoRp2b2>E>#ysM8gSGMgv)KHslpTkdL z*sDH}(#p-cV|kzclsrOamp1tTvOa2%Nu8iYxALbOS)7)|ubQ1;CNS;BOfq+~#;MqA zH+}m>^4TbG`tgmXqTy{&4MB3+~ zj@$Diw>;tYQCrcy{YtYafoTx=DXjyAEZbqGZ>n#GEnl`En9Jl1e=@sOi@0o~QZBml z&cbHOj4o7n*Yl#!y)yZUzV^^nW^{LIGLY$ZP@~ELV5|Pj zHp|kpGMtW%;o7O>!^0!vV!rI-nOLBBmW0Qef?KUj%b2)#WvNWJcwQW;?WY{e%6}}` zYtAYLBK(tb{{Xs)#n(A$!A-P@mOVWwNwKo)5Qv?KH@C#Vkg)w!h9xF@tGJ7^4Me@M z;*h?i5&*&>yh|}cnlLX6O22-T$Ij#Q_d!w49sUTKMNnCXZp~@FQR;$wPPrKpk!ivi zez-&UiV)~l2>$@~O6kd08N=Is;-iJqw32}C-MlRt(N$tI!xmm?tjpZzie@`7M0sqU z?gXh@8g8|2wPMyIk-33y+v>N0WWGao$&!7Ul!yR62Kb+b-s#e z!L8Y7En6E%wx%EYlz?G@Br&UtnU3|<{{Sj9k2o#n54mvYDV=u}sJulOpZdN_EW^;_32H>M<*asYY|+BFRVp0Jfb? zjMk11l9~_|Ck~Zp@UH&=-kZ+5a7U#_<@t&O-L(rahSCduq&Eufs8-wZQej~rB42c) z&L|i2dxdkSu}OxZXv8jW>sPpFNDRM?sF|1qYaaT;t0Fax!di!tmfG; zv%1)0a=OOmU7wq7XxiM{BMNy6C^F1DHtgsXCT_QzLO^t8+re6xmfbG+`0#?AS7?s7 z+e2Vo;&UYcyob*-%~Vg5o*>b}7u!^{g3&vR`$s}9MS%J!AZtPGpsZ@EJ39KK`CO9q42UY&Ta zP{4x=nK_|g1;LbmF7K&W?P+Fp0Ag5^<0SiC-t5M$2rMy!h1qUfW-}>B`&QE%m2_Bt zDb7s?=~;FR9h{n$Y__yKeamwb5M!OIrpd;^1A0NKTF4y*0o7 zYO}NO?~ivmdwaSi?_6FX=~$d; zxrSy-Z7nVkOCS!xqne5AK4>nK%cdr)%z3kntdoG=^XH6J9vJ8E(vQTyi%R=d_&8B# zS2l}$s)G$|3R`ecgvQmWYQNR4?HsF3#(PSeieqve@(~QLH zYy`u3U%U+}ODl{+9E&nC^Ca2Io4y<%ItrSZhIgq}c37l;XcIFV<+#!w<*Ji8V3{^$ zW$gzG$y{U7SP)=1Ym9?(?`HIeKiy++cN`h~_Ka-;D`2Ektee~5;9gLh!Mf)9kDG9PHaKX17M( z^Ziy&50#jHb%{oDjq@F~>QLq3actJzP+FXyXBw88!i;m+b8SOHQr}HSi+Ra6B_=<3 z1Av#&qWeex0L|4UHrHf(S&i-epE)`(XZd)qn=uLI=P-WhFb#{J#R1`R`rrP*q<{X2 zaXD)O5>nWSWcvRA?}C_PSsb~RpNaH?pES_bDeJ*CdmlQ-6cR3~X(BuBn^cR6D6adY zxitPswLpkx6sZfBR8Y(0nfFgkFPa1{8lbsI$3#;3pdBl!A#~vsGo*Bc64&ONrx?W` zG`Uj=ICa%A?lnnMeAkzLKjH-|+4dzHjlKHuB98^?EoyZ2Uo?N(PG>W;UCq~sT9(`m z$8F1=Yif^Q;;{U@hlyPqE_S!uLnt9R7{V2H0if)na9amRt$-7pf`sI0tz($HGdq5Y zk)VvD)g96Ef{c4y7{&$nQrxyM<4XC(L@37FqY8h)8`2c+LbQc6Q|GRW zga%zTRZi$NwzWxaupM^k3M4rEk{mYkaZ9a~A2k>JCg=d`1RB%VM4<;SD!^A4tX0vl z_e3=m-D&2YRN|YZ+QK@kq}jW!(hyDEWlAvp6RAj*km2PN!i{5eY4%1+Tx$w0rD4Vz zCjC*0;M(S$OGtUcX0YOd^=+q0TI?DWVP7Q2X>PQNsbm+#O45KsZz{RLaW~~&wrST2 zRrB8q`Bi4L(32=PR`_VFOBbbY4^6|uPJPpR1IMLYa^Hqxq0X^3!}XrSU1Z0uT-TdY zBK7RJVB|c-Y5O^fN;ZAh7;)IPeO$`KxL=Po`dmoQJUFe6Ot^C8=IbimhdaUB2Bk=2 z<~tJQNx7Rfhjx}ss6P$n>{as(P64$U%nnWKzlhAut4?zXc~FCyv4rzY{TtL7x4^X- z=MAnNEWaw6E=gOj?J0Lh(6bZWnahD`k@$to6K7fQw>F9v@lw-PfwBk7d%l`o4klvM^8O+GxjdyM( z0GSnX!*XySfMB?5j$2cV9zw~PdDD5U5y6)Bw(ZJE-B?oQPnfZWPQZs%bE1y60$(>xQMA$0Cxw)vroTIVnKIu#?@&dp7=L zoyue(W3q(?gn62F`-x6sEY8dYaBMDUZRpt%Ql}-@YFV4GTtZvf0hr8!i{3z&laYyt zJ&Db>`GrmqZ$-^XOg!DPr6OKI3+*d?RNOSC3os?|CUSba!++qdCfRl_Wk}{j)?$8EOha+E;z7hfm2K%y+%ZX6 zmpNH&(94PhoYT^?gfPW%DS3ZuqnI}oR*oA<6)jrlCi=j0i$kC6Awzv{{R$EgNn-)W--IN-XYoX za#RPva$Akx)kAhs`_4q@#~%{pVbxr<`jvB74a$;*(& z3NtrblQ7v-6uIdscI|b{75PoInVN0Q5Z#nAom%sR6?d zYa5kzNJt6{xXE*T?N04`c9_{xOL9G0G!b4oz$akl+!QvU#E$dNHCg5st7RGb{frUP&M6?p_2#|m#AW@1+m zc!w$Wo!YEBVLRRBg9$8FT67+^Coz}3wV5?_yxRiAnMqCH@5)YF$;v%4 z?|260aOU}(ZM?GMsQhZ>=Haa2R=Vu2BYq6u@SH13N2c%~HTjHWY&FyxaT z1@<;a^%VR$>?~jJ&3AY3;0>)C!V$SNYU>`=O0+@WF(|?5*Rp5 zVvIF8H21@jBjN zbu$S@q{;c7&ewDY-AOk$WEn+=Wc? zxwbJ7pPijwH61=Qvh9GQw3!Cm#6OA=X5n!)yjhcX_LEGDGu?0iyh%>b zzsAV*JW&4tavAyO8Ju*2pyOOZ<;})?WycW3B*FJfR$LA(YO!({-VVgSc#&dZoNNC8 z<)5l93)&{wY3Y`wNO9A*aTUTN{{YfgSthga;KT%#~C5vHjojKe^iJtkw(F=ta1?>aUxSxEN!$rw^Mj3H_*bmJk zB@g0chp@=YJq9JQF4ANU+ocJP1|#JWR;KHPorq#?GR&>Dm!{}Hrv>AV_LC4SPreos z9muY|ob3fU{?cNuO}J9hZGOvlm4`PAe`To2MrVVT&u*3}xz;VQ7vQHqa2=|(kga$xDfHkS?1&{31RcW9G|YLp>fZBsz^>Vd=0 zsIL2^sMtlqCB29HzJe>ts-4srOtI) zkoNFWL#s{+Ytn;Vw{b`jDDEXhnhmzVms4lbo4^+jDhG@`64KE^7;VuP=_F*Qy2|vc zoEs3CW^mk?+!j!GDoaY+hm|Xq`&F&_rLo1K>8;E+F(?m#w+p1+Wv1sWVTa1*Kxy+^tnKHuG*Fwd<7lE#b+p`BsSH7yVhmm8G*EFSTXoWS2xDq& zjLczcMF`m+G@n+xtnMCN+Gz(R9L#N(vLbxfDx2CpAsA`qz3OGKa#)#u5GJ6!$F>+V zZ9d2B=XM)q8W*{7$%7 z>O~Z%5AZ>$z=+EZwqT(bTl4x;-Q0RY3LX$}ISZq9!lITp zw5n%Ts1weMi`EH8G5e(B$IomwDabx|{`MDyiL z`y*fCzH|dLYBgS2_|t|CA=%qo58lS>KBen#!sSPfG}%cw$&bYIyOna}V~f?_hnm=O zZSYVPTz*~8=1?XzchznG02QSkmi$1(T!pr{^$IZIa>vb&hnWHV%je#`W%^tfjF|Q_ zCv#f!Clo7bK}3~^3GTb}Qz=8XJt{*}_Ff#L&Hhxh9$1kGWMb{jo|gPSrDVp~3bVsZ;O)C(XC+p#->sZ^6z^BsABXcnH`z%WT=4{dGQ0OL z8vF;I5P6wbOhW79yXs!ddrQ@Q9Cqzj=Q+5(EZPc%a&;5Bmn}HhB21+bsZ`Vg`cfip zf?=Q$AtTW@@}O^8=NB&Gs1jl-8UfqxOfRKKpr-Krs3DcqX00}1qUZfJ{K+dExMWPu)Y5`FOi0QOI5==Oi$i?kKC~im*i>WuI z64aLMRV5hH98w&D2}5?&0wlxKkxB?AfCQS0(u9C!giuE`AL1$ma8X?LsfWy?ISt4n z+A--sqMC532L)h3C~iVAQppIASGxhZ1jSGOR1$&;=Lc$z;Hx4Ul8*4vSQVx!E6`R> zLzPB!R-qNdCmpt^u7N98A+-SEwIEelRTa>oD_c}|g;*6tH6$YyU_yXmsD?wiDlHJ) zg%C8My>YHhLJR&05{wdVijuA`YUHVCfu;RZI#cQNrl921;rf?wQ$Z4vZBmkGH+B1x z5`BJ@)Kf|bNssX&o&$eVVvxC?@^sl+Ye@`|LEEV+wqD@gdOgD`}+ozz>_ znVrnC)AB~-;hglxg~w_%$!~8j_(MdwxtAMy-R6MrDf!&7D+Y6OXr#(E2QWU~2omDy zKkM>DqmXdCGl43zB*mG_-`>oR+M+RN_>Kuc6_m^~S|>Z-jG#HBx!hG&8BpRv5xj(G zD?2dQ#@9#UbwOz{M=6C(HIxy1rYkbvCsbE#UrgKW9TmP+!YS6%aIG?TN@nEo8lu^- zi2#w>AwVywB~wB{mse6s(F*FORWzN1xd#2btA%$FT8gITNapTjCnIW7BIOl-gUHv% znhk@feM(xpZS@m_o0Z!XoOR89#l9#Tu~ z-L*Z7Vm!53Qv%+d5i;te0E|P?cHU)lZeSZu>r-(UkjayL93?D1CCVl)Hx6N4nerr! zruL|4P7V60lJ^Ung*A~l+B<(#TWH~Ks=Adq%j350RE@he2QAH@32=gM5*?dVyICer zX+qTMi-{-Pak4G3aD3EBk-l={5zJ5}VPM!i>S1NW_=`PG#ytZarkgLg_aSVL@hS+? z!$&XO5mIW@Stg5Z zs^%URgpY68YAH5i)`(s-PuStzTYQ#p6Pn20X5=0&S}JMTm!mdD-rJN1qUrosE+y8O z9Icf;Vr#rzn*9vTUo{5WX3?H#uN|uxVRqgrEvDcq8r`t7^0rdYw09}YY8#7c&SCR+ z5H&UwaC*J!+UkwKRa~!*YTa$wXSP1uRc_D%ROI?H5ke8m$&6 z%&E0_XiGhB_N~<h9HUpSSBQf1}*eLEkN8x}`i+HI%s$|^5?l+bPYf3Dz(|1yHFxZJ~%y!FKvn@i# zL*eZT*h=3=LBvl*^8DCh^fdJpd|n`|;i61#*}bkbH810uMt_0?JrI1Q-y zY`eo?x>XC6V>4BpnPJw71jCfCxk;U>@=QhqHx+(L?Tn_SfZPg?q!xDsn35^)-%Zd9 zc&oYj%s3>8sTQFJf`)LpOmlVC1qB0$?p6V<7=BSu8-ckp zV=g?r$dd+e1tSTIecjxiu4tgHmu#JO{M%Y&mXsJc{5#9$r*>9Nf|D|~t>*hxus4?N zp{KSA?JS_}AY0j{+BQlA*{r0fko=bCA0j+ECDN%Zr5lg)Cddq1m>|p%+3JM;WE>FV zdbf~sCA$m?Hz`CSGsB)d{{ZDsK$4T1nAvZD15%2pn9I0@y+l^ev{S7FgHpI_RCKg- zqOuM`)=WcHMRdV$vxt&LM!~rCB2wgqvdr8uB0T%=u6yL1$lYo~>QcUj|eEI%=ohY1X@g)1Jl9$CsWkk}9QsO{ccM$!4jUtw@* zu`nIQ*HqS-?Xd8+yg?z>!Qzv(v+azJauT|1{{YI0@lf*H=5tLJTeR%XO5?5!*15nW z+O@9ima@Lxq>b>#SxJ2Tej%@7i;1m4$zXDyCJzgTh6wq!vNpm_GU|} z54k>liIyF1UU8xci#Q|?{nZ3lM&Ha@r066`h}8L#F{;!;Nx8PNJGoTmTx`Hh6+@i= z0P<5A63O&ZVPRpiBYnvZB9JbK?Ey>Dp$Ky^Ni7OnyO}HS{{S*`F;ZtuLQ6TY%<-48 zJb#BSeiUIrhn&M*vzG?q^kaXBeO2l8UO?9CzvF7uc3Q%A!m`2t08-~~w&8x$jKjNr z@Odq{b-v{3r=4>$LS51sH(aeCq2iVd`;Cis?5z+CNvUS$8!Ntk)fNv3?zGhGHPLMM zaw=TS*C*b0>~NMW)6nqeuV&!X0T&I#38{f@X6Q2LaDb`|B50X(nbwQ|o>dH9dB|@`r(vgQ}CM8=lFtxoZBB@-QmVX719EV0=cDhSN*yx-vnf%FH zWf&p2zuuC~p{@Ac;YP`CveuYa?FbdGH`mIsy`3!Qgyfv7U&R=T+R5(AZLsC?Rw13v z+6kvH@7cn{thets_=_F*js`uEn8Yp|mb!kWr@G#rRb4wS#O@O}Av3J2&F}SDzp%CY zcvb>Vz{QE1Hw{8QOHm|tbn}%~3kNr^$$M6sBjwB^ZN});-uCcCxi>bH(B>I z5rOw(N+kSJeTj?DbV;BXRb;y)<1+HoIhR^PO2ISRa@HFDgqVex z?AB9-&$fl4w~=+oPiBLgUDIl?>;$6|(zC?|*@V!MTX#~;N`u2V-E_-3-R@becw-7r;h4>R68QMcPgZz>{FyPF943}UkxH7#|9pAU7{$;R?X z3xjaxQ2SX4>wjlr4)SW+(Y-JGI!;>_obX$CsN5sHXS;8ROX3)V4MnTQUA}Hr(U1Pj zw2NmKGY6Crr`yeG>e&-9rBzpFrgG(iS}ph+wN|yGyww$|*Tu4m(U-%;zv7OCA97|I z$%N?liI#_LN9tGDRvV0Cy{l&c?8Y2Z7@OmDIUwK8E9}q0f5J}5%JyA`6SY8&GXX};ZjnUVN`}h9EQk~E6B2E7Q{v#2XGdlg%?mhT>_-Q$X z%E+DyOyp^p*;+^U_btz4u-P0Zv(i{56}CcDXb_JTtaxU&dHGzb<))!{IxbDSa%ht7 z@}8Mp+NDT?mlw%5isuk2X(dcF4XPWd$)td3gr0`%QFc!>$6@BX&Z~+wf*@ZwrWGkl zClw*ZFypR}NC;J?kwQB8r)%d_7if$A3dJhn!aIal!~Xz?@6FBjo^Enwz;%w%M>Jeg0y&a_y?Vx8QKh&t*d~qiw(lqkY%c zr6o_uw!tf>rMFeMAdyFGZWz;*c^_uKXB=Qn+h5T`xSQoh-)(7q2m2IUM93R(C5&R# zgLGrX7CzMuK(BP-QQllsM=1><1tH^!2D&J&Q!=ROP>v%@V;HWiBOL~bEsS)6NK_w%WRfiNn%I-0Q5)QG}5K2*vDFnjfSVk9o)k!*~2v+^kLp$Nd znk6mJr6Hn9=}JXd`ee=}O)ZMnQM+^_s<45*7{)Xo>YA6%zKMq##-&Iq zmJh0thXg-5X&Y0<>-i#vdR-lLNJ4bc4ag2%#4t;&VM;|IR-2%xjL?9>=2{pXt6SOZ zQx9rUsZ3K1f5YWA-C2#^{z(WtlCR+Qph+^nB`@StK=li>u z=U!iIMc{dZh#2}U9G){g4GT`nOE}Yhtu6L>?}ByXOIKWoLURnmj6?qbHq?!|FB!(A zhYBG1w(72HAHfK%nC#Qrx$SXHm7VN)K5qns=sWA)ZnYfe72#xU%SHhf+{Hjdyq&!e z4^xA9t}s8CE>YXWJ2pmQ);%)OdRm$j*fd)b{{X%Y#jcn|omFS0l5TPkB91RVm+r_+ z&nDnawTw*uvdf;D!!iV8+J?l7&ed7_N==Xme%}Y4>WIrKbh3YXbcZZ48FN3XM^(;R zLt)~QG4l92s+r7gVYdb>L72bCR`pQF8Jy0|{fmd0`o%?zHeInVa12|-u%ow{yH$y? zI^-^Q2f&>laLg=Z-Yq!r(d;t~0O6xcJ6VY6Ptba7*r#Tr1k2PWWG0=Jv^zD2587pA zrkW{P?c?4504vKWoUB)r(yu&ULZ-MTG$`su8 z8qB1`UB#H0-L}bnT>Gp(Sd*0~0#UXQv_=a(n~pp+6S&3><_^TWSR;b>@kk2a^r>#+ zEVC{Hg~ni=zm?Ys%LQY~{Jj8E^{s0J+fm1)wl4OI5g`zmlaX$5oh5PmHcf zx(*3*MBB`d_bU7~>{W;69+kxATPJy;14&;*qf#o?3T>{HIn$bP^O<^J<1k~*?ot9{ z5{4c!V~9;gU-*De5kUU{l}E2C;;crHO`R%hV*Daw8J7u@>4_&D37oQ|M%peK#=?qG zhP!!EWvbR7=QBuJ2j(7ewz&k{B1=H<${;XsR}CW`RO&MwTqwZ$RNBNto%*>`#C#zL zd^9uHiYr=%nyl@vuyX*|yKv}embY!BI}%W%ac1pC+t5k5Ua)Pf#6sr0Fy*RC7>3v~ z-M=Jag$QY?eM`+vonTgA+ynxNiBy zF_=*FM6T@xHz3T}eS`|e#`4C3p-TmMt%uI#He9K;DY;&!ur%<=7zT(uO6V0)+J@ay zWppT8=gOWiZX7v9H;N#_ifqt?ZbbF|s#_7b+o}Ua>&m3CR+Yoln@EI*2Y%kACu}XT zM`)|X8;>taZDBRT^h;Z51>y(^z9U&?#aZvk>N2;&!(wh&bc1GSTQNDJg~k z;Xoe0*_&zhrU-&#n1^oUS$VcwlbVv5mv!lqb8Qx)+G5q1S<#G{i9?mRPgd&ZQpkQM z$^O;Cq$ZgeKz>VZ{-ONKUerzLc{!G3eh!BllVzpb&z+Ww0UY6|MkKS7AIS}2$vCaI z%x^cA;RJ4rz*Hr{uT2-L{vzRbVBw4~O#|}o<;+3>reCV^Cyy>|#$tC`bg#L2ZH{R# zr^n41skDw8lG35IG=6D%xpt`AjulS~xCqrV?2u49n~HOKHMDtoxb(dDdSH-G<<6G2wl(Hjt+Y%;!*$uouJtuC++F3?ivF!dy&MSL=Dew=U2l6X znEjTE3&dOQp)4#>+|Ds2)|ny0Hyi#gNynPisK;`e4YpW&Z;WGcCbM*9Z98}J(Go@i zEs#WEXU%QK)zUL-w zsi%_gHc7G_M~9Li(z{_rf7&b}Zch*WqY|vKyFi2+S(YPM@#ghhrn3)KGDYLT&dxN3 zsAU*&gd?hc-)tbA^B*K@VF?UGZI1-Ch36XZPpH#KQ8JZ>k{ej|e4_{5XvkrhuY5}z zDDsbz&tN;Tc1WQZ+B;U3Vl{f`M7J%`!!&Ba^=SwqYZz2x!8Aq?x-l5WtBNr4jCXl0 zF(!mOsT~n33h1~vRH4CeaIFH>*UwGs)lZuB zFTjbhmF>%N=GefVw<ZN}ADEcawWk%{ zOT5=26Uir%Qs9%x1AbLaOXo@@E;=9|R-Q?yo>hWREl>~V1={(ibkQ@*iUyvjRP{ys zA^p%b#L|LyT4BWlQ&W-@D5ylj(38;6BJaB7-lQDo$uox(sSqJ1rLUq-vJPGLUH45d zl9L0z=@Rkckpq6~xUS;5zK9cdnrdIVMMC}4I+Cs~R8YFEfT$RgVr`Q|6=_%))kK+v zM^&3f;i}H1^OyajaJEf@o04&%BGln;wRi<8)`R(%+kLK*?^qMf6CoaMJQv0o)UWLP zW@ip9M26x1tHsL4seRwV@_tNuQ-m#ZTZK-oM(C*cfLt9=wH8)4HK|o_htZR|wEk4> zzDWiOEB$a`Zk) z1{V*a2n0|wO9eFy_Y z!X8vwbtWCi0OU6&DFqFwh$5Dxns7xpZcHSA14H1BXmnL17ZhiCl$T(HT71w)K`2m^ zwH&o10XQKkRH_-l1Y(6#3LBC5A*v&k5FWHtmlSsfr~qm+kfM`B7kQO|7@&emQD}nX z5C^FN#U`6nbB5Fcr4U?#e@bC$tO!oQMs^ib9qLis*5#-~dJ2kKsb+vl0zDLW1xu%h zgzOc83Bez_iu5Q-d8ox=qP5Os5>uTXWgW;-1ZplACzLj(q8gWqI-lH-<<&qc)hbsxcciA|&_YZor||ivbttCpFOuWd+qp$Kb*LLpM5FUW`%yB5?u=9n z+vK~cE1cVEo%X5$6gjAnE%HVCE~PnWiV=?Osf79^#2&E0$a-_G_LtxUI zQ>o~UZ9ZunhTk;N*e(fcaQd#NxjKtC#aqKv$!bU@9NrhnHs|fO;@kdITWDHUAnLgP z01B|{{F#&~k$-WUmAHJA0|GI!8;UTCu)SLsCi} z)PmVWZuYKib}j_-O=1?z2G@N3t66ZAu5Qw37E0F1?7L`%mohGh%gopQ3Z(ihyI&NV z>LTK!VsJQ170dat zQXg{dkLjCzh0$v2lH!QK_FSGY+^Ra%>d;e*{U~+ZfeVthoN@_q5(!YZ`&7kRmZ2ueuqNV`!L=`+lT>bZxK?dUajsTe@ve9lWW{G4&VO7#n0g z>v6`su{q)mXxo8rMseohv?c1AVlZye6x(`jT`R@Y6UZ>#cw8R~`l!TC9`ilQL5W1t z5R_J{$E{hM(y_o>pWuPAt?Irqp?7UTzDWWu4zbv}8o>xdRglN}ak2v13XZgU#EtTK@o2dl0a! z;3(7^fBO`zzzBRtHmZpdf@JUI@=|8*Zs0bpBjix!pzLul?!j9Ja?#B;>y3H{^1>^f zrP7cV9eIJVEZ*-+73Lc)FfHc4U^aZU>QI7hiAGz?-2VWoY}CZe{PepsZ}>x?!Yeve zjwLZ9%Na6r4LLeqaNyd@<;^{Ft{qIdl%i@?iKi{p1JPzDJ?5O z+T{=D)QV6s>HSvm*4Ya)8XewnSa%~=Ts_}HyVys>!dm_+ut~yrS(j|1cQTy(AGj>% zQ*g$uw94ojAsUks0w=&tMw4VAK5RDCqDxmU&=Yxu?ekpOON*D5(zOknhr!8x(&uNp z>Pprh~_wLg-l%9<|~(C5~vqwIdry`MbCcOM8jex*!b6vVlemhGEq zVua^C+hRnT51_%ZB_?(+n_zD0Bg;`xOn+47$>J{%j>Hk^w(cfMJLE9~Y)hY+S_}cU z^PC;)JD4#yHVCRG4p4}Q=%j2G+PKwoAVf*{h}mEnDm7R{WTtYZo@_#4vD@{i9o3-3 zh0-gT^jXPA9Agxfon@=smpaqwUXLO&kKc$(&Nq-{QWEG;KzXS!l`EXJzfUzz4dzc~ zh>)@zuu?I}i9^I$8@3LG7$UVlhOsW`w$@@uktr*Aw&lkK3%2kEvVo)V3!0o#e%P3D zR?g%AOF1zam#4tF-6YVG(Ht0QrDY*5M{ztoJ5lhtJ4lK5#uoafW7veNf4fPQ&TzU4 zeVahX?S@lBY(C18Vit|QddkAgF>+?&Uh8a9EJj=>mQgfOA* zMs@`Zp(Q8i{{T{*gOGKx%P3!}i!eN;cT%4)^QDuUY(LF5Eh0LS`SO74p zy2Brqh<9RW;9N#9>QqAI8TwVW8ygt$Tlk~4FkGkYxLN153`L2z0=E1`0~C7m+oM*Y zOcPEQci>lZD#_u?G7)y*{K%=7RXhuB-fNY6M?xLE%2c`9_wy{wEK6^I#>NMB-cnK} zPcC%I?*hVw7ICKth>eokJj&w^8{W5vxkWgN(*4_3M^ReoDT(%QHYH{z{1V-4MPsL7 zmguw~T+4Yzqb({}h=ysivKFamYjLHIVTj?2G}BWDmg{A07olNglIxx!eNb4eKPX#h znwJoHpx97ad@0-IGfZxL{L@VD*4}Zl9}G1ga)j2#=14~G3YAhCH%|-~8y&7SL>UcP zCZ5ntN)`63URB^&Yb4GmG{fOXMZ^AOXDPMMP06_Sb2yyauiqD0+4+@Ny!>8jV!$>_ zo(nC*RM`<0!sZpC?~_d6uRbkY$d4at!Z$H-_ytYgYfn3ff8Z0?URz|=U2aI8u#;Vx zBa=BPF#N-}JVWM7H!m7Xn_m4X1j!f6AY03|yEv&1<%^QpH+@tk&eoZ;bn+UW#}Ucg z>;z+XKlDbBZ!=+X@fs=?-*LHT$(XiD3&lTA3=Lhuf2C0fCCta#15l-}I5Lp0pr zyR$2nJu08G*%J~|LSzv(mG5sJa62E~8!C=?kMgWO8csEKS%90`5|fQ-Zw6`1ml`|% z7OL2>iK6Csp_%0shjrRdIL-C)6*fttCkDBhLbB4|6>-rcn0ST5f66P=m>e!+2_3ed zcNh&fT1&|LNG1D5L}Sb@40K+<_;n027~7{ezEir@v5x|Bt6%++-_?Yd+Vk?D==fzp zs)^cbN_#n`=oayUxW*gF?LH>kZQaU5risg54LK?ycvnTKt1)R{u~-XkOTO2_>O_%o z!m-gm3>_HL+_h7ZGEZU-G9*IPgQOC6qX+$+g|h26M)BrYnl;)Q(u=s$Lvc~LCVUW1 z!sKKJu-&0IKw~*6tzdmhmk7kWr)Ah}t4eURPMDfmz*%O9swA)@N4~Y+IcVMMj#Ie@gnVGTh^7pCTp=qgJ(#>~s9$yj>TcX+Z zFaH3W<>?Oj+e{tC*oG`F1C7Sr#NYn_SNzx3?n2Wcg8cCR0J07t-2VXW6N0n<0Qq@W z8#w!X*XV=8X^_Qq#_@9EV<20+*L{~H`!0?J6t(nS#U*LQ0Ck`kTGKv2HWW$OD z`z9J+vSFYZeJhuJlSu+0QmDvIX~6(WwWp%*DtfLu{{U1v#+39y$YhkOL^M#GjB8C( zX;|x2?Ji2d#GV*JsIMUZ0JKcojNo#(c-jJ(g$q>Zsw1Vw$CjPwc`Z+X<9=>I`5*XB(B{G8l=-Q*wt|GtYHMb zH$n=>(>pNh2=Ihb9+2b3A=diFmcb86;R4~$H_ZdQa)*(b@WTq z_eNw-EfY1nNGDPjj;p^_S+RcbPH#wC0!$kDBK+#BE~F_)LJ71QQUDgGk2PwWuLXT% zf-UfX!8NhnwgQx?Zm@!8m7yo0`a@X9a_Yi7VHAhJV7O~qXsVs8bb@Kqgcld0Liy;T z!Ij%o-z^~&?I8r;sxX3*uxP}uq(&B`(kH0FCBs@kcYai~jVlVQw13_y!(GsVZl0)t z4Jiauh6Ml=>%CVG$}76HMuobu5*S1EPZEW?CWX4@D#jbsMR+?g>_kIw(_Y1@b>71 zTZC=pP8|_O7;}45xR8_+0t4mBoY+9AQ)p1&i?hb-iof8c1a1-Y z6b3GhqtuT=%H>Ig*$Ao1i@G+F8)5D(%1wGnGgJCc*MW7G5;sqzjec zfXp{&ir8<|P$nDNDX-c%YbS*@-Wombl*QYAYtu0%<&PB}kmsx znKtf@6}qXX9^En8c-Z*^(GqLh=iQf@`&OWf3A@@&ii zBw2bchk5i8)mMYl2IREVT4Dyy-;2(s%S+1!B=?HniKtLk>nu!4MB{8tN_Zclbl<&~K!_mN z*>k1pOP+dmci{3qJL%#r32wbUly2Da`X|ppwy`PJTI6KtNKKVTRpztl#-ziCg`(h( zf|Pph)IC$GK76Pf!KB^=Y*U6c+YVH=ow}DVDj_)AXZ2l5p7e=p=z&?clIkJ{%?M#m zB#XK`AV|>V9|^wlVhOLBDzJO^T5w@L&Qzm+&G{#2u;)k099 ziqTTq@}bterBw2W!M(_XTrO^h@}Uc3Z#hK_;r+=5CLcAFF6+x`X+oS)uK|`bk1~h_ zUC}`MhowH13u2nr(kWZzS{JxP_Ff{#dW3tVMuYUNRD|5SfaG8?fkgJNI4BjOB3!(x z(*v4}yykSwOqqyK*GlAa&w?!9P1_kmfJQO9l~o*E2wzC;=Jh2f3~{&E7s2Y+mvWft zH5T$54e(lzUS6|VN5ST@+%St!vCUSlRs#?tWZ@8k#S?L@g4|##b^vcnxc$+LT6f86 zC7ac!qb^H1B{skmw0&2c_U8a-VASpu;0&pB+se1nrVq>>g^ZLB{NH3{RYW%k| zAH$kpgI+XUucCc4qDn2eks{=(29j!da7{qe-@0;do`@4w+i1I5rghN*RWt6MTA|ef z6cY(O4ALMp{z--NPc+3sA(Ru+JMuu(gt;mJpUEoa#DkMkq(Ic)vhJ-?eUNwAH|~`u z6xMa)@^q@7>BsF) zs$$^yYM|q_vL9;nKf~$bmBv|_H;6#3fl+zI+e3A2R`_$~**9jM<-8d_JGk<&##(9j z9E;4%$jePjmB3(#KjmIw_!~Q!B;14U)xd7m>OwTPYWL%}Xnu2*hHz!kcz#6FPBq*u zT5<(-D2z!ylo9B-VYJbSH6jFKTq27_-70`mh;*qVrj@88lv7dm`%sVsV4S;(Z8}i{ zI3{ro$nGJE0P#BzjYy|5Ve%3H@k}UD5{bMJ2Z|RJAi9${Dh4-2A%8^vq{?)l4^nAE zay34b2O(dQKnvGHl>pSEOfk5SMzu7>OQjPW&`?3Pf`)2W1Upg$Vbw69^rI9ylRB;? zQb8ocf{{*S6azE|ErD!OQwu~92vkymspWOZWypdej&Sy=ZlKXv08AuGCev~Ny9$aL zIUv%TPymp)sSZH~ltC2X^&mVwN^63npDM5+nqrc0t9KxjDz1?j&>V)xhYBdA3M&Kp zRCfghdF#0Zl zA<+Qs7$yExN+c~*3@@5PkEc>CE5$R13MQ9kb!kPyiT9#yzKNq|@h!AMtxHOyQ>G~f z38P?~Dw5sYut%r&B(*ebAL_c_RPv2Dq@lpIB+~54ebZ=)H%98F@jx+(MX>l#Bx-t9Bap8Y5zg65r!U#-)bULc8O`|nh~20omUXl zw4#w}WjcSwGyp@tMA~lFh`(g&dQ~*2-_q2SQa;pOPqoSj^z~iE8npCHD0-o=Y4=NS zs&PV`QrlF}6*+3UpW2QvuLLrH-J$@6*6vOyZQ6^|`BQqmR&7|a#ij_%Mh=Nv{ZyOf zq8(8CDB)~&rjYHj-K!JEq_-Ju1$GT?%D(>qn5!QHx`>Xdwu!(r+_OAdA3T~u#{0GV zrEH8@v5_8Bl-#+!T-|r*t$6f=`RvB_j4i)8v+*_j%Q)bSK!vsGn2f7aE!i{E@QG&& z3!2H=K@+>D+OaroN%7j5qVek#LrZS>oDz!Mj)%SD9XxRahHDd2~;1#vB0telGs*lo-w6i%Y3@n>6 z?Agjr^(z2wVlNMXcJS3}?5FUX{Xr!^FWpb#&5xcTof%oe{{VJBJCR$IcXjU#s_xXn z6{_(m2|SBTA$NIre+*0W3V6cNuys;O=={@G{yNo}$!SI*uTIXSqCHAYDwtX;s7}cC z?j+KO)Q(V0xBHV&Z5W_YB-bETeM)7iDgCNwLlON`ZTBf?Mm(vZ8sDWfgkmab2IR_B zG;IpqyGb&|I?-Ka6GqSoDv-j8VG3!(`;^hNJ7`HMwMZiAOzKT~0AI?MoYx}T%#}2- zjc(M-RFa3%nMCTlMxq%FKPsDV_NEw*D$i7jLnwZTHq-K{#vf8)!8N7Y5yPbo!BdI@ z?L#4=bvA`>Qf0eT*M@?aQ2x~FZ48HM;oI)DN+=|90}=IEwl=F^fW4@r%%i?82wWP9 zXqBV8MatEfbgb=Tw(Yv69_0$Z?#UD!_XSkahHZ=s{-`BvI#Jw>+mMMr~n=;Iu=HWgkkBo*RS2 zG+8N@(~)JQHX5NePU=eXLPg?W9kXh#rKP+2sXgiOVm;1G+c3HBMAnNIiRYS6~t-F+A;1@Z0Btm_m&CX7_FO!%e z*?K7LMqs~>RbbqsM1L4z_fXvq?{M)`UaWW!4>$B%3>nNh$zku4LIlY9^(=@Ob#oz1 z*%n6ae(9nUapG;3GY9AGRbXWXjk`xC<=L(iLL+ukX-;;+ zd%zL1r2yQqyv{!)wF`u9pr#bN@o-!qxt^#X6AjKfS&sZ8{{SkI?3VCzG$I{PRt>q9 zHiLU@^WwV`DRYn(g{nS?23te5vD~5Jc~An|S4T>zSWsNgH!g{@4T(Exbfn1&=@vjh zoIPA6C7@*a$CVd>dMNITkhE@~q${VO$$Tzl6avw?2x2!lxQNSdwOE7_`T-58lFpN7 zoW|FX51!H_!unRC4XvJa>96+FqhBQ%=}Akkl;ql>=47|acgZv-r$2%e_a>2{n{Gx` zmnL7;@*R*=Y`2-o{ZOSv*@>4Nn|k5-mnwc`jS+BcQX^@-4=~P7%a(r;ez!IpiI|(@ zT&1uDQ4NrEa`Y1BT`5LybkcL5+vtF0K>EEB3<$YY_8XTXwapf$H0SmXT}3)p*rPmo zWtT6lzNu*0?-uA?R8d2A6nz?5?5pjzD3dKp_W^UgAA9zymkjN22SnD*hD0U5+=TX^ zHuIt}yJ+g9vMq^vs{zt2+82>-L~wjH&EFRUx)aI@vWVe+?(excc^f;B<{?g7cO_;P zv;w4oJ)v^$QEN+m%1fHKOQnUV&Un0>QUb9DIrt-lN(ISKOF)O^PAE{7*lELhLXCEc z;^j{mE8vgA{{T{8j?lM4MfX}L7gMQaq=5munH@)#jY{6NBz0Mp1ffRMXJ8)XDEW|G z3hqQd3z(gh#6o)xm^S9XX>>iPE=9*C9DKEP!?@%1CACRoMwQxW7)YRBQjo+>(o2_d zUMQe8?NMOSjmD&oiauSWi(UT!l}S@yFYZXpYqyF=zAvIitpmMDAvLkwrL;FbKs>)R z7RRX=$cEEWT7>MoOLm3xLN|y^LjAWWbMpq_ZsZi%NE4F{wmj}Ev@y6)e2|E$W4^Yb z9*-EN^6pNeKoMqt(OF7~#BU){uyGj7U;Zk@$Sm4R64WQ*(P&v9Gv48=85rfg&&;!; z=I~Y-?w0$udLvNR=C=LK?aW$9=W{UZCSGdWWV9IhlEUERWilma!fxYIpK#5xnk_-T zXe{;G{XJ$*{`4~c0QnVeol94SSU5bhSC@EfcPb{zMZ6;dnQU_V0L@IoW>|7m zU(Na~OES^2WuM|XPinfAZmqeS@cN_eR0LA4THhBv7LyEalD?UPz8>X^RbDgrxha

^`CMSb0b{mO|c_bJMAP1=~ysYsk<<((}I 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 cyO;VY4DD{!8K`%3g=?kB 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

fNOWBH&QH+@P|np?#P{{U3jjYPnQqLoin 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

W<6@ zx{v$C#vUu7>`Fn`cTxj42HKu0K~Y_B;L>VUYdB*N8{Daq ze8ahHj#*Resjs*}JfZ`*)#`0EmtM1JQ8KPN;IwX1;^M0&90KiLD*J?axs-gw2aCp3Npz}cXbzUt%jkg4MK-7| z9Z;@G1|q6KLb)>K1D=gd4y%eOh!&{~s+-i1qJb;5DrIVw0@POu8d{)zcA@m8;wzDK zpFuVdFU5)-xv=`EmF;nwt6R@hi3X<{>)sI8@tA;H?d|Hsz$} z+}1Cew0d~Ijm^oIyY{ai?DicAxp!vb_9rjS%Unn9T&u+Y01*3SHt|p4(r=gSxqujD zWou{5mzmFEPK>a35)om*@kY+CHJiBOsT6N6W#-GveSR0=F=F;sPs~7|Y+d2Gs8@Dc ztebJ?4%ZyGy;mJF>sVZwQKs0g7RhTqjWJe`Qm$^}g~(c2SVH3UPq<;Vy?$x8K#AL9 zP_<>J9CbRzDIA3~q+_)ub~#9RX@wY8kctjH1tnv3Z{6yI{6vbO8hnrnI&n^`q26+i z6bc`zh(uRaF6*dKf@ZYfpmEhO>m4B)B57!l#;7-M;EM-q9SRi`oC>jm;-X>3H&QC8 zYqv_I5|0W&bqmfZD@_IvL>o(K2t`GAlCdgWi}NZWmC)%#*~bySkb)MsRdwA_f)N!$ zv_oPM3;^I!g0bx6nN4Ou9SB)&hqo|Qhi9Z1ee;GVdvdmnL+V~6cczR zIT5z)$fP|qgi|h$7{M{Z7&TZ{dlELSocg5nrh1Pjpl1%NWrB%9m)9NJg=Wca^E5tZ4)brPQn!Yw}CgSfr$CF^ph= zG=w<8C3LM)^^`WQ(ig&rq_m<`sy3ETP^qP0N!8Y|K>q+My{Mvf8bD}5nXNcMHnzZu z5R87x!gX0SGWdn2`N5Sfmz@K>xJEbh`6^pOGKEW#M2KT-B2X23B;c&QGX-{8_66BT zViP?>6wGQ?Mq#36WtL+wT}#gxH`n7MtIzym^x2%>CI{Oo*2O6`%z|GpdhGJp210mP}G3ycKS)5M=Y560YWt;O3wSX?z z@(XY_8$Mx<)r_>$rYx~#&5sySvV<88XsEkEB_}k&1&y~oZ-z?FUB?N_AXb<9 zm4o9h`(xqJ{=cbWCr;66dA1zU%g-B6LLa9EuaRNGfSdq`PnIey?5nX6uu36!2raK> zqHN)S!_5Xz4-}g1sLM1^Wx@eqfvIvWLY9`RSvM}!Z+W=F-iV_&hLJKaL{2|AEX{P( zX4^CkM$;e&+NMjiF^CjnxoLZokTHO@46c+wlp%&-hT-$~Ea;qwa!f`8SU^>#77-X$ zDa^Fs!qSSFD$$f{1!L(ZcAm^PR*LRPuiftm#v$qLP$Zc+gK&VYh6^kM5IREA@>6Wu z(EwqR=XY#|Gj+m2hrjuE$$kxU5I z)ef{veZQ4Q8%JfCw{UtY8MfRL@iir46O9PiT71+=mzyo!98x63TSTex5gU1xbAwS% z#UBxSF3;6hwKCT(=&J7#DAN$8)PP7%o!2V&-n6-uYAY+Fa)PTSU9EynZd6#5>%!HW zqNyKz&gVbD8m=~x$E_}9Uoz$0f2yI(IPc7&f!>IStmH=Gix=Z}@e~&v-EGJQ=G}@r z*IRO}#ZP)ZCB%g3?fO(Hf+#n;`XPxXny-a71{ZlKuAa-fS3CVv3fQW#4!Z5!Q#q43 zCUsxIMHpkfal(jKP%ck9qCBV=opEL+8cJKVmg*76{-l`J(A+9TDhY!M>`0P*Ns~JZ z{z}eXVuk9eTY&!nYCAljOK~h(kt?B{C>^TFnc<41vQQY9@~bu>{^?_I$(_yl{MMd9 z+L(Eg^kMsXvQlc$%EQAOf0Esa-81P-mg8SU?*yDInt}^Q%t(msIxtG zy9iNLViCAeLN)79=VQ9mnc78W5ondDZcGxQ9n>OOnQvYsoNKjFW5ZBwztvlbDA5d}|bH%pAs!^Cjp;n;rbBHxm`cV{-Mx?O}xl&kEa0_-rih64e>GXqh1HpkCox zq-p2mUTr8Y$HX*^2*gt#ikpOu&WhcAmL___=L~JQG!A_zxUm*r`c%*xSo&6Lv{Mbj zTJsuj@YhNGYU54i$iVik`p-JZI8ZiusI!g1O2k|voGZ|_!M)4JlHIKOxN8{kh|r97 zlJpM8$?}!EcEx1yR&!f72zH9}-p#fx;p3V8RyU`Q@;sl89~H~&XDm|gw3OE@yEERp zgCEMd={5*_E!@hu%b1m$@w6=!R^&PbX4AIl5pC(_NK(CH zw5ah{#N6A_qJ-Rjq&IHwP7k|Op4HA}?4^3Z>3*cz+`6L`mbQNayQy%(qM7{2wV)t% zI#a`yGpQ*4WN1pI4OqC74nImtZ~9PyhTBun#wdYt5T{eH{B2h~pOT$_m6|twYZVIy zYc#F0qCQJ(5q4TYoFlTp@+9i#lIrf$y683CP5%IfJh0la#7;!FT!}J9QzSd*E4jA%B;)y)aNLa_P4^;utwX9>qKi&jl7E6{L3>iy zVu608!xYkue=2`7s2maZb1wIJp{LhsX-h(}H-^l?Nz?g}8}{%`4%+|{>PBmKiPO-S z?xt3wNddXA2bEg*mY*KM_+l=EsZ756abWbcc;2woyXd@aolKQHS8OH>ZERg+$ps2F5~io+mA)zP0Pe=Be?!a z&AuhL8(GT;W_N8L^(*WtfQ+G@Wyk65RV`YqoOy^jZs?cEAi3gS{{R#QS|PYOS6b1t zW^Lv2S4`>)-YDUTp2Vy=-sbwgY8%7g`dWZ~;M9>~A)#oSh*)P|%85#~v_GoMgkJ|m zz$+9?QQKz)(|yR950Y(uIF_PwFq_)t3*?2D@ZQ|1uy=+Y4)4^J(=XrPy5(F=?6qd7 z(}Lj65oR5)k4nbQV7PyL?(Jdp&l-tGY%X4aFsmj10MbiQCdYYPK1yW87i%7SW0%fY zw40Kc)Xa$45D!hr*h8)`%*eF$zVB7-J*C2%n+E2k8L+>MWal#S@5Ed?x#iC?CmC+C zhYOdQ^tL&BaPldhJy`Zv6ltqPnQs_Ni7n8&+kz9Bn@`brgoD<-nQ;FA^j7P$*ntxx zD(t-_+8%E+T`^{f`*Y;+b?i5f!pX0NL37Pi&j`1Ol(pZxxvHOr8*>(i;b^PPwKzNOJ%=`Thl94hYZ~k;EORAxNPJkSjLca$6Imf+ zyo2plvbV?Dt?bDJL5aq{{B0Bmf?K}bl~x|mu1&$FE_5ZGDm5`}ibh#M=Ve^b$Cj$h zZO7P_9~r}1eW}?O<=czS4~1yk_FgwS%kr3<#v3pNoIlZhBJJcoBI`d+tIIzY+HQH7 zCvc}opAs(j7%x6-U0&V~CsV0lGbP7vWeG>Aoz|$0jdtD2rc1`t%eKE|&Fwr#W$E;& z?a>@tE|2Pw$hHM;*qVwf4H>!3Kty2V+uj!u-AdY_yiYnKm}Ql31V-Q>7J!f01d(_O z@arVfGw33LAYZp_i<|hD^&t*>UE8irxOqtywJ#CR^B`Q_;p6i{Ot1E*U%KMuTx2m! zI8{?(-LmUbIGxD`G)%UmwGGMDpr`#eAr6~Yap^=8-Twe3)!Zq)33!sCMbu2KP!8yB zP9d$Rf*!o9xEK9XdaX>YI?*>G41MWNAKHh){{XEvl;tE*Yqy(fMyw&cS9K+{I=N6K zzfwxK{A=JIutof;W(vv8V$3o8B6xq5YL)FQ+R<2Q`#UK+91lDO)|oxS=6^M&lgbu} ztiXuzT4xA9Wwu>X?b=YcnP&)Y+qM$jHTN#jUat+Z_mBngxXAt>=un5X8d$TOxuPLp zkHW6i6|rzj$G3a&4lCw{mShqyaIiZ8?QXrrT6=5{X=d zk-fWDaZ5_NcJi+2`jCT*mueSBp(pW3Q2xY1Zh-SqAoDK&07~jrWkqM*byVy%;Rmx0 z;=AHQ$yU~ZwIw%PwGxvZm$I+4Qx5^{ZeYF2V2)$N!%f^p$rzf=H4ziMgOOMP==@#PgeG!@3*uFLcP8Bslaq5S8xv-X)+ikjvK!}Ou_j`fggBYzbFq#mS zi&;d#y4!yWF&?BUpK&1~vSM4|MhI*`Tyf?cGVlhh2=$Uq1KwNNlg$XL45VgT-RC6b zLK!3DUHn2%elpF@T4dvlTUtZhqMSf{T(@$|tIFg`WuJ6)z_iE75iZ{lq^9!P9$`%= zoG`;He}0zuq-CLcC}o^>IlH_wtw@rYHd5gI?;FN-nuYo+SthF~Q)(wCITp>qJzs$E zRuazTOgeA8#Js%6oHr_s1@_rD;4RGiQ|u?Ru-t~BvbUE=irsHDV$|&P?!oq}7{WW$ ztb_g=olc3<^j}5(7UI4J#G7gvVP z($wCRsWsrLId@9xdamj~-8|rvMC97V0_d7lT~)_KQftLGM5(%X^)nnWEz<5aZsNv8;|*VRGA_CqAP`lT3o#;WWxkhesiWKBM4 zw1<+RG+doc%aC`SQ@=&uB$d?zdblRnRPQ>blr`XiQXB@FCv?)O3J4l7){#%r%ElZL zb#YugoKPmTP1QeNHQJzUHPJYD>buKD)zef9rB`X>nXOlO@j#`+?wPF@6>jED*1UM2 zQsTSLsXCVxX`%(vi8$z*lu$mpQ_&~QCz9{^plv+rlg&PwuF(T@T%ASKK%QEp{Zi33 zn(BeU!$jnR!jN6^f&?xfbgR6^iGSvS+HitRcqB<$a6r1oG*8onQ1nZsG(bvea!#rw zuEfHxlu#E!DxvFl1gE5QU9Au@*w*CWu4N*Nw=UYG>)e5zRf^-_xU04+kCw4P)sK>R zaH&x;k@+X-O%V&M0XJN+DkqF%NLeGj3E^MX^KTb0mu#a6e5(V%rQrs807k>l<_G=U?IX4sy8-+M3zLk zS4-214j5~}IN_k^i00T*sm()vkU-YqaafRHzSL_*<8dKEoT8?{3qnjTbZcr?Brvqo zYXO9RcmPw&aF^v!ncVHFXvb=TBPFz3>Q4f!$<~H7iq&18&sP5`(B0f*D4JM2zG-A~Xko*!LitFA*tL$P??* zpvjdTusKx2h+L$OI4K{(Kcz+fWhjb*=yaNal&K1P;u&_O5VNYHq}ncF&00Px3h)4h zN^wMC%glmdK;eGf!nw;~Z?uu*h#TBPaUh{1qQjcr#8-X-*|Yu z9s(-C*4zD@<1M0X0nH?~bCMR@2g}@~%X~2WsBVqKMR1|C?Y$n$9%Mu(cP3Vd zCP{dpc@+?fDTmCskS$VG3ahG;3YeKxiU*WxnoE)(1m1UdJdcQo7i718#J75NQ&1{I ztB@k)%aAp7QZ7b|!8)m;xd(YJNnH|opkFOg*IH3G$t`uN1uhj`=c;XWtP^~-P&p#x zs1Uhoo8?$8^IfHMK%Pl_mlqVu>!Js6B+ACAcq&>CM**Jgt4rc+YJ+TZ+%h_et4?o5Npfxos9*>z(sfu=VkO7oU+Yf9;Mp zf?&=|h9en+n0PAKG#CE>Rp1@B?S40iHgXP$Ny!^mS{t)|=DfY>fPJDlf-q{&0x&zG zpkhvw&dSBoFA1A|YtNIFKjZ6hKM9Wv?o*wbdMykFF@fcIbt=Jdjuz_!w|3rSqZq~p zF2>titAA1$`<#SfwQ#muS@bD}w1b?Db!`ZT$`OyMQ>6wD`*x(zqA@7Lm1VxAJ8rBa z(tu+K#*~69ylEIk1nC&v5kbeT!x&TSk@%G>SPF5KA*m>?M&T=wbbHQMlwtZII#)VG z5RHg+pimc9x<(K~MdKQYL+rSzT0$v>q$-+k^)KS6IK1Rsj3Sd=l&mdXTIiOL=7P)9^#Rf&#V<_~{;3MQ5GIh)32EgB zNA*ec=)31dQqHM)(LSD4U9X~ekD5d?Cfm&v@r4SyCsG`0h%oYnRY{QP>qXxrQW#mf z30s8%r3fm{!=yanwG;ZK`Ozh7r67#V?6nwM2&WCaU{FDF5cNYVQUtQ3JyUL{1R>Ln zQyeci5~H+^k*Z_V60K16;{?LC>c+Pr5aEe%q63w@U{OwRyu}6EyyLYNActNsic71k zBAQ;1hSbgnY!sPlAh$-+gi;M5S5go}b5M_* zM%3`F^{f&MAr2ARonJK-x5A1KNK4GX1`iIDQye0N@rg!1b)LZ9a09!-kZ8R9s{VQ= zZV_JvsCn{NQkgAawh@5EPGp>LG;pmYT){#X#kWYlO4Bebw$IfVv?4YR6NE7ckKHnG z3B5~`)lG6P805wfiF&ARHs!f5LXLE#!oss`3Xmv9)q5aM1ij#8v&mGuF5p~IYR5R& z$xo9f93jjYTuLeUrKQf$+De-ilx*0|YB2n;TA^TE;}~7&ohL5T2FJPo0KrLyvE}P8 zGo+j1YBvJ~dsf)LdLRL2%cC2GSIyQqr)hXPqO=iLG}clA2X5DZ1Jx z6>HBJCXH+HBNPtX7*ta0eOCo}V2w!IRA|BDSR;OTK`3(Cms;FNgy2^~F;8kcs|coP zaSu?VQZ`*psJ%qZC>I4Q4w`+Nfw+`fbD9bnLv3M1n!q<`YQ?>B$%ZV2+qrm6Fx=$4 zAqV(b?pXN;oML*FAh*}4ZC``r?adD_)Uz1tB<;>tFm!opy3;27d2?~5p1lVIof)P@ z>w`M)C8(B&#$Mo}@UG8I%uCI&3NLu}ZxG-GEn8wO&`K-6K_8t!e(~sut_C;;*R|+r)j5c+TlJnduEE z$X53ci>BX%QHQ>WS#jYL)EX-@l>%z^1`zoq!ezkB90*1WQzpz{6ohE%O<~S&rX#wv zP^3yXqA?~-j$I+0m=ImU@084!x5sjO2m%@d4@)ePfrc)CveZZ@ZN_n9z3;+(R;uP^l*_ z;)*MEL&6Hv4}n0GR)*%r)nSJ=MCavQX;(Y67*OoxTTC6hL{F;KlE9!sRvO;n8?7Fd z>cbwqndNOFRswUg8@DGssV6=Ja1plO=3Aw7=bI*j#7=>ibsJt~+WCv8Yyup%bo|TEv3IIQ8FjUJ zCMxqzxiI5n*0IRDrvo2pRM3s`bMzH1Sa;iPP^HIb)UEKgNZ$*2m!4yC_T!n;S2=oiHw2=X30qO9ksH)eIHpp7 zB%UxV%aoPbNiPyz#I0P5u>0{MHS0CCXMbM1IH*QY5a$v`5O58}hKZ z{$KBZmz5v!4l`}x((LEZg}TxmLbuhz*}LS^3{O5Y1Q+;2p)E&eCk2_Y24!w_;iY10 z5GDE%b5$9~DY2~xwB|}*Qr=uqYQ3&X1nYkl%iHIIxRGth-)4dr;iTbZ%8$LdkH!LvRK$NO(O>yy(`fbk1k zx{}t?V8c1(>A$ov$N@YP8HTN}C*)>j&G0)K>R&fpaALT~%`YMg^O}Ba!hNbZ#rW?n}}w zRHjMCFQ4%&HrYdUoY>gz{i=#yBb;_$0O{PmgT|$D%R9W%Mc#2PT_h|)#+jLNRnYy|gTfV(mTBp{P39lGY#X<9iqvAKbeK3J zSA^(4N~y#SULG(wH-8q2vsL~ZIP=ox;n*)r7l%*ytv7pR>83J8)0*J!)#tJ?zcUeL z*tX#CTCUE-Tc4Ml;=wmXsySt<@^om~K05p16$$BFmx1XyCUT}eBrR8T3-=WpE@;6c zQ^LUl3)ju7vuK9vXc4H2e za5Bt0!;8oz!ojoZUR4BL_1&y-`8~9+cD7#fM#tQ7pfu zD}0De#;yMV(Qy9&K@>J1LWA@r>iSb|AF_Qb@3wEBJPd6$vRR4lGdr4eaUHeDzF!(kadq~cc+ zA-x|;bvFM1(RUM09%LOw-5*j~3^(nHORLO@qI4(i`=lhVt^V z<`ejYu-faCt=g|XmyI3#%h2#w$U$y(?MIg8~%=Nj>cniumX zOU+*}GVL%T23yPh+99)Pe(uiT9}ntHlxfm&!*#kcT;H8VI%U@!eZTyVqosL=YR+Cb z#OHI`*4-DTO_{Xr=V>wp!|7g6ixv3P;oEJ;wR6q(^zgpXdUQ$2T;7rf zr03F;YFbo2l$#^92X!v|$tzP`)J5)4Dcj4%Cmp}=T)S*ONIJFmMLYihQbo<{xd&3I zKZkcvuJcSovPQ}V9pMRgNXhxwOq4j5=p+Pa)q~2eq~`)M1k~V>8(#@f)S_EQl??SORjjjWM7FJwl(Q2IS>f_R98*ZC zHJ_Jo*}A^vo5N-umULa00WT^?sZYaat2p4zvsTO~B0lA)vz@6hw{t2EyD0fphV=+T zsFUruGUlc-U6$6qYB)J?1hd7K655ZeiH>U1Bn{Mns^xl>V6EIopW+#Dda3S+wDU%0 zIa32yVGn9nqAg8#hck(?_`?Lbc6c0s;a5}&147CGx6ZLmJDuMUBACB~3qox?pe3@$ zGeed!_M$vdv}PdWJuM$Hp7StNk=U3Wttd--hxJ2ih{@sZxmZ= z!FaYtE47PRP=Q3p;il6|Su0Dt$U(`6oZ&A*wikJ+*lfeX)@$xE9oQ+BBdIDQIn0*k zLSzBiK1Re*nap9b#bg2m!0F=dyVY*FCahl+S?wK(?S3;N^G@OO4#x+(#BIaBa{40z z?MGyBCuNytaKdf z2I!lj>iI6wLE5fMuaa-w0&U?`-lf#tTBj9wq)2I1H(m+#+p2HfBscV2xW80`^MVei znq4?1r9iu3s!GGncinX%#XHS$YsDZ|s5+lCr3iYY){DH*D&^mG-!vRGs!DE3G4f2-QX_;6j>r@NpRPlzq6MXbU`^5uF6op{~m5tSm z7guspjdY?8^VKw?A4LBEvSx@Epy<1xD3?klq%Igm0hoxuhN+HFo+E@4YYNs0%1Gjd zi>nUqQ0hwNyc2YcG(ps;mZ;5W(`6WRrnLf&nkiO5qb$YnhTYLY4_mmSQnA|zA!`CS zRtSL_wOAwvQY3Xw)-cf#sthSe-jE>}K&uF;AuAXV#Vb%Kkr_jgAVh0O^)4u!JU?=Q z)PUV}VxzP$%^1;3I%XVU(g_AFi%mo$Q$Wf>5h%9=CWl*KDn+q_mUO2x0f9MjAQQs~ z!qnHH0F}H-HzSz^w4!XxGaG5JrqozR@iu!;RVth9L3C>}-MuPU?qq%HfVu?%+Jx$t zal+u~B^t`9unBS7cezbw9JdNa+ba)l)LU&KO^&6LF1F{j2GJf)q*H~&UTchM-Pwu= zu5EF#9%U)$TW^S?(|Dp;P(W6+>gG@@YnK+Hr#{_(o$67ZgLjc}^H*XGJVg6Mi}Ise%Xcz)Kyx(%bD$Z&KWX!t14sc-*DRnd}d0g)NnTiaQjBMwSqomQe0|n<8_V z$x17-{{WRN$NN2n5Ff7g*sHEeO0dnqtC0H@1 z{{UJmgsz37MQB_~x@?`>xkY|q%&}0Wo+J4yp(My-xRA4qcJWYdsUo;nZuY7PobN6C z%dWM-E4L^Pl{s}x%p?=Y>RXg|3g;9{>X4j4FkEsQZ(K)3UwUa5)QGXn2nDDFRV56L zsV+e#>Rh>^xKv|J0w^GsZc}0v^-+k*DVHFTFndq{$qb`a-6#%5ghWUq9mz7wex$_bT+1ROtjrPtAMR;#p7JEo~Ts*}#C zI;w-bwMaZ_mXVBU1S$8VB*a|BXPRVwt|#_Ir7d|ESe}WmWj4vZGW%_`9MLki3(LDj z+gS!(?)Xj{GkIosj(B{&oL7(b)3g|-F+GQ~7a<1NV53-vGoR^LzIxIg&Nt!t8K>8^ zcEh$kot1nfuvvyC@juP5SCIC@wV33?bDzJ)AvG#MZ8ORP>F!=+FVYR1yap3OC4EIf z7p)N{>6^gUn=dZX`n+Gl;l#FS=Gbkih&=;o_9>Shg`E<12Gfp4?X)N-mo@N)>wNl9 z#x&Lyxq0o9Z7-pZ3}bY~`$7dl5lT^sTNuV0MKI}7AnHimBNMb}rrk6xA!x%yGl>i< z2<=U}kf_6ILyT>@8rnOM(~30a)ikRQI;6T3Dsv`W721d?5W*UjR5LyFiAK`$U0B5Q zf^OR8MinIvuB>TY6DzK;isP>c!7#LjkwwwnHo+lA5RT-(c%c<*L`^tj3ra9uSXx!8 zZM2199%bD$gjESxMiqj6VM|L?I#tago>aD?ftp6s8d|#ObixU>^hr-Kgl<5ETdS(? z;npxo@`7o`Hd(3%X>T$?uNagN>FE^ZPxSu)(J-qU^-I90hE=ynLgY#NS$1i-o;t}m z-SYNs0PR2$zk=AzyBzkJpp#BFxFNMr_D&|#gzR1*yf#r=&py+hAvFuyZ(+f1k1l_1 zP!SNeP59Yv;c-P9#gQV6TYk=-3Rmw3CN2Q9R-|SgO$-bz-vU}^=@z0p;?Qnyj1_li z7-zdQ_`c@-DeYFzL9%(exj_7?!*4K*5 z(b$1lT?D00Fp6~}0j8HC2y(_Kb^s_>Ku$5Y%@kn{5mIf9`VgeHJ7Er0S(^o9I7Tr> z0FBkrKXgj8N+TE@YZTKHV{I4>64REEP77nCBNRj0&+v^dG65R-Jgi!7)1{x~>hZsXe9DZ?JWeDp8 zHzNzKhfk7|E2D}r;|QQ$K2*64!i;vrs7O`YL4vbxVSo$tF!-OEF z*GB8=yI5+S_e-Li4WwN!S}@8hEN>5g45uY7uC>{i>;`!M#EvL-JE)%p&U|*^d7JB$8{P z=-Ay5JFfCsUedN1^$BP}rL2CCD+ptH;s%`X=7I#u%)@x^(q3Ba!a6{q^NMY0#*1az zIXh)D+A2%*!aP<&WLyVqCZoA#Vd=+`F9sD8#ue5n2bQr*w{#S3+VNf0TCUTUE4XyQ z0&C=uX~Hp1>DH@<(lCMs`E8Emhi#jQaaQ7tBAg=#i9!fy&y^7h5QHtHe?`>YS|t5o zidsVL+NAq)BJ|VzQ)wF0U(pYv3Y@V^tX$R+f?aE@Ac|bJ>uM}OLClOA#@eJBLKR9J zm8vd|8r@hY9b=>uLz75G1fRqy1RU7tMBySgT)I|2s%MdIg6$)2Su}FLXL}UGZg$My2B9Vd*=E(LI}+ zmU*TnrV0+Sdz(0`+39xaX>zZf{{Rj#$C#Ow!!a^$GE8V?4lC&FE$BxJl_)|nmN2bW za#Cq7b-c(Da^(=Us9Y-h4)8=mG4RDCn8TTvM$V;h!!71&FtH)8lS^*SJrUoTy?PcA z7(EfVAq!WXH!3!Sz!u*{r0nd-gxE6uWAj$f&88*j?K0bu+%UOVl$#|16ND~Muz7%R z!U7Sy)m?6kX%bj+y{4hG#2fI&ihBiU2*m-S+Cv(q5kl%kCS0v+T27rPz^#Y%K^Q{q zVuvvp$7%BPrnFENtd63S4MluC`?(fF6@?!3TQ?27yKeleAB#XD{{ZDltELNeQBQk# zeAa6fY0iy9)octs+^8?K9opMgVvg~a9&0fZZQhYhr9Vym~@Fmc#AXCR0qnO!YXv^3opa?gsB}WmhMz; z1adt}wb;~)a+h}17HT!=MXD|Q-%@o-Hv5py8wC?|Emg46S90TrwJ@Q%L@Ac-h-VU9 zkYMCCtEJg1L%p%ykaZo}k`s~Ki@R_9lf;v#DJYhSj=-R_qHVjCIh$=r+$xIFKvIt1 zr8K?C=_s@iOL{#Akp;aRKXQ>TujW>XDGjMihTl~jM0tlrDqVG?Ioeh-!gh+c!oas) z6eV9N0*CV}X)aL}-jL^eEo5W+z?#uuui5-QWl1dEZ6z^?THxBd)5o7AM7757#haB> z!4yvA9k(hwwOmBE+iYqgLvqy=tx_F@Q(I-iEvqx??h&d=Q$l2~uxTo`S*p+^#7l1| zs}+|!@+%DH8q3gpNQG$I6N>5xsZ1EaRfuuPld=<|PL&dEx~q2y63e0PJcg>(hVDwlrb~58!ei6aUaHyRwYyu? z(4>aPFX~m8{LV{HIdHAa^@kX*%XVwEv*z8hvi|@Q>P&uGEI{ZD+sKQIxNb}q>X~bD z6uR={$u_g;aq(9jQkWZ-$Fo2!Ki(Z6fSX%Ze+O#ktg^RqtJhejURd&}{yg82c5uMeePNthnn7A*L;{iX4fcPKM^oCCXmQa#(08ItDmS(n+U zn=_JA#Pw0xAdcRoS%aY7%97lArtLGAYPypNZr*EGS9hn~6iO6ru`OyzH$e9$ z@a5G>fcv^r0D|P4ZBA@!(txxWZdRS0Yc_wx8nB>Qd5A5Z1i&*WUjG19szaW9ond_> z{#(Q+bOzrgo9*<@VXk*?A7*iSNgGm*vIo~y<;Tj6Q|U5-)h{$-FCMvJ?Z=Et zIVNppU3ivcZeBAsK;+}ZB~T|nwJvXkmPAkm3eX;2RK8ua$K%%srya?K9m%E0x{Et@ z(4Af)lOpr7&fecAqJ&n!NQ;#|yLTN`t>zNci#9!)oFXppMsa_QKBefAk-Aab=PKYI zlJLoLw6@*)Eu^L=GaQg@vANA$U2A>3+>86Eu`;SP&)pxd0hMRCXa+4OC!*!K0jRjG#M8=3&9xJ3elI#n#Y zObpmK<99LX?pmxOIoKf%_-@-$=0;_SZsy@)4mS^I`L53_?y`%4OSp5xEYo5wA2oO_ zqY@ZiA1Y&r&9-FecwikX8Qz;Rc2^E;#Di#*dX(G>R#@f2Xq+>h689?(c_Px)Vnv)r z%(l^N1yVmIPD^LyUh_p&Z1wOFn#-q=MLp66-3K|_cghP^Vkb`{{8nMtaCUKPz$PX3 zlwiEY=u`>3%AMR-(0!?9QW#|Hql}MrnDZ_dabG=fxyuW2uO4{S-%IiNX86y1sb#t* z4=u^X%0{@MOP4pKwcEi+FXNH|ZX4ntsUg3S++w4Htm(?n9*;=H=BthUCX$5g+*>qX{Uarp4Pjzrk2S zglV^e;e|@XoD%f%{{TdQweb>Gzch=fU(Bi;o4O@x?mJg?`k-oaeB9Ip+&}7<=|Jnl zdR`(wQfWYLT|xT4R0gkyX)PyY9G5xQ8#gFc@LA5QdPmJo!5p&^Xv^Udjr&%qKCzm; zsPrk|wT*y6JvHf1lx|-+x1Z1h{K`!4c5sdMPO|T4fB9+_APk(ii5)V&7u34PuO!Ed zcB0#aPB!oJdsh>UL5%joqv)c_WCj~={{Rp2>LdvPaPBL&AD7aMp>~0iZvvWi=ZY^o zxrqCTd5P|Dy!Uf2N9}P;!wzMEc8s;4uRA8}T(bSWoKMz)($Y!PTTu&9NKmiIVcTKt zi6?YkE3N$!du~H!(RUx3S2RtfZA}HH)P>3QCFxDw)v9PZluoYeKxy_&;GOiS6k)M-Nr91ghIQ81O$PI(;N%@mXG&Pkk1i$G?zA1Pu0*kH#;QnO~rCGByMK^Q% zgubOw*0>|p#?@k3wIWx}oBRA)GWW!ykT7|}v-qGK(NsY5oQJ5X%{_iy*GJy0OPtbS zX6c)N(YoYG&Y#GQa6!!0U;xv)Q7|e!+GH#ddq;kePh>(fxlm#~-Oq$k=~~+bmxDwk zFo6}t;ip_#Tg%}U5EzBh?n{$}-kSInQcCDZoX89=V68vQn@3jP-z8WPvqOwgp2!)N znRViEf*QF^u)Rl;bQ&w)5;KwpY9MkWaYp`R*2%(Ysf%OZrL}S{5^*@t&dbd`7`$9&Jr(SoQonb*_Ka_TJLAIL zFIIRY)b<;R+51e`l9<%Ru95OpVpiWQ^h7Ypt@IQbOxHo#C^i7-YkB)t>zdVb$%eTh z?tOyo)-5Chhfcgi&q=%OUhUX!({^(jCgr8)8-(qiAl$wjb>ko`sXQ9aTFGV?Y$oV{|x6qWg|l5$pMoXIK1T@R(p zml&Ao5nW|g(~9qu5XaFeSB+5|l{Zx69r8-Lo03)+QYaZuCEs*J z()B=}B!Zl}kn%v9T9aQmuGh^kN`tiWNMAUmU9Xb63FTGZRfIS$UFMq%E;=UapXb3Q zyi;L3lZL*2OSPv3-CL7kzH5q=)i0KwYrLwP4PEl}UFS%y>#TW|4cCNIeABh!o39id zNTt@CcqP#y1oEn1I<6$sK)gz+G@{|J3a4qpFhI>C`lZsfqIIyQiMzazcURdbR;#?~ zm(2%!k`#Q`40K6YaY5CEIIbAM4Le%uf%VpvUGs!feDs1*;DfyNT$ARx2W#k+cj%D^ zc_q_=Pm*6f5GUDowW?n#B=SMU9XKb}JX1QgitTt&1M44D?JJ@hTIhk))hS0rE4-qY z%R~w>j3HPhtSX!Gj28`SsseE#jZutaO2UXCPekuJlu#>iq-{hlVi=+Q;DuP-SScXk z6z&kDAfw$ItEzvUVo_8Y?MARiZZU*vDj%N|ONz~6q`-6hDW>FO7!0_^5sHTCMj|kx zK4eIQV+dN12~vxqRotY%7;S*YDh*=?YY48oxQLqj<2v4(P)lfl-J5V**e$AN^kmD5ohV)j z2fYAFFF&BE7Z=B*g!c_6waoJL(rcm>>{(w#wz z+r5Y?9uX1S%t@3|0uF8?wIwUJsQ?T-U7DiGL?Hde%BErMj3?h0bsW8_GXgneKpRjC zc6Zc%ibI4k+JMv!6Pce+1mN7>Vg;5fUk@Nt?gDT`N{YUo)h0j)*?HmSZ^;2N?|bPT zQAx43{{Yb>pE-V1$*u1IwxXcD5nXAF;j-Z;0Jj`mE-wkR$Mm1hboRJ>Z9w`ZbX|uy z^C|M})SPs_6KYN1P3I9*2?l<_CwFwAP1%|kYOI0*nCprwjkgPPInX0w5RsWO=PpzW zX=;$>phBX&RJ8=gw{7;R()&aeY>T4{zs#pz-L2i$k|sT56ividr`EfjLo>DON0m(o zSd235Xtg6w!{Qz3maW`K6OR*^zJjaWzy2zw)IMtDl)e zYdVT>I2m>ka;nR@kO-@_4X-68vW>$8`MHNPGtBF7ssJvVscIP(?Yye!+Rr($v)o1I znKX9*w|>=Ib$XCpaFQx*JR|j?+^d>8B)X+>A}sFu)OTGw`Sz%{pqbL-6OHd`hnrLb zDuNFxyB2qCK$t&jh$YgH$xVqj3=t{YN~W$&LCI1iss%~pku8TUX_&eTrXSQQKyKvreEK0QA8!*Yiu)5<9o$JPC zaXIPiNM`Y=$(JO|3o7?BE%_>}*aSdk3cCv7_S~yoav4pDK#8XLVFl;6Cer%cZ^q!k z9ztV}Jme+9F^I6xox70Tap=X87YYL3`IIZR1>HkbE29`&7_N57X?mj^R6ysY^bt)M z=~%@wqYX(Y#BR`fRwcNN30TLPC>&xijA&M+){R8^fp(FN3)-TZ5!-cWyFx2rNNnPo z;SNx3gj8(8t!V@jsZbbQ2yIcFi9|v%DA<@q8w5%*ifP+zDz3*}y0u6pzLbg{mfKXL z8b*n*QjIhiA=a><^rWa=NS}yEM_abW3J0AzVoQRZQ9`(2TGsSY+oqSGW03NUVz}uY zDHYs!MK?=r6ipJeg=1C4%#+D+Qk7K=uC;>gE~IFZyR=Gr!pL(VW0BoRMhT@D`9(DC zykZfJrnsvfF;_ur4g`jAj~cG5eCZV3W27S#&~<%M4bajly?hcBI%Q2J5wd};*HgG12~=1}`M@=&k>0Ehx`?U(HntB zAlz*7T8Eb}_Y&6ard&bN>W5M+)qALsKuE`uiIWEiF#90sLzW0uMhv?bVC+6{T8BBE zn#IMKVOVaZkwV5yI4Q<4O)^2R2qX$})+yr%?kJ~qRvg}{q?1VL3NEBL!YO`mqFO=$QjAkb2||gK zgmr;I5To-$)6D};5#_3kRKJQZ1j-C_q5$0+N<0usJF1pop$#CTlxRAVEJK_qaf}eg zC3RsH+Q(ASFv_J`sWRL_IP+0(^46&<^GU>Z)(AUT-3Y>oe&qzbeG>S6YA%eob!)LZ zhMHQrv9xJa;nP%I5x;d2X$94eSdQHgDgVHKnqe}de z>l9KIctWX5n^>+mM}Uzgm(+`+$`#U^QfW(T1dZ#YIhPzE9x#s7T^&f;RfJLmYpF#$ zbq0`4rp?s34Ik&soH6o*VwgIP)J9=+G!!BY*2)wUso~No_SCMd69(Iik$#CmsND#s zoMRB-6t=^TtEsIc1UBkNZDUbNS65iWa&Zh{0x$4H(zH@TDW$QD6NV9{u!>H)LMV;s zTab2;hT2}GT3bx10{JM~)`-ASjA(F*E{7OsRHBzHO6pMDqczMy7{N(m5sU^Agb=hX z8j11=LiE|D8*~a20wk7Pp%<+ftEqa#X#s~acIxAnj}Yx{7*fvW1Y0Y$Iyb7o4k{J_!?gna20#ZNy=iJLp;| zYV?*S7EQPfo$S^kK1$NbY^L9nD3Eo1Dymttc0LI2R(NazUB^f&CVDt26S8I@vFy8y ziHi<|V1BDyLlGN>H3jDlmcV(Ujh>4~gJLy~RK!Xw^d!~GBuumy7nBuT%h7|>tW@Tn zWQy8QeO6-@b^`N))MJzCv(=i_G5M&BGVXYfbxe5G1=r#6BMN~n zY1XxdmASjQoc&Y>+#);phpNqI5b}=1;C%l8lhGy?D;rz6FeCX?W1If~%karmO&7P7 zM{YFg+L~UQg`D%=2K`x7*=^<Jo~vfjkZ$QnF>2x`ehPdr z)pOdfIeu1QzGinQkF?;9TZ2Phf2v!1_{f>C(Ka*^Hs{T~S@VXkU=0A(j6Cmqi#QU61hSUp1M> zX5&3&ND-=Fl{SjDdRAk8%G#q$wk@C1oh7KfP-#Wmg}YReXrc4Dc3E^@Q0v$!euU2)TH zcg!J*p$*P%;$}MAu}OA##fJY1OeSgk40d zT{0(rm6?{}yM=_IRJVe(61R2AvQiYW(k-adh2f-26H#Xzss3(dnw$zfVDkE_R=%YY zaB6#0m~R~Q9|i!hwyXJe{{TT%*hty}KGkLgO}#4D#xmcvgucar?V-1oF)HDl9d*77 zNs7#}*bAgv2g(b}v4^uKrn$Fj3!Z$MhoggswUK$hlSMv6F57B`&Dkqw*?CcVSZ~n! zSDqfM`C}Cq{gW9++rK1WUcXYenS{4DyUkTkx0GHP+#;hiM-?qQd@g4qa^zYQV0%Rr zTeE5ezcP~Rgdw?Q!SOXng;vePqH4nKg$c;>DKE7KupMW`I6Ie%)-Q;3DiRrN_&*kQ742H zfl!#C9h4X)JVIfK=l=i?M@zi7ykf}p07x!?@g%gOI6A3CgioI)SU@N6}3Q{qr2LhTIO!$ zOK`xF2~dzYqMOHZ?ysdHK@uRssl)C}7^ifrB#6W+*sFXbZk%IrSUbNms0~AJLe%yx ziulFIUaMIC+_T$NdN*hD0}E}!WJ57ab~SSQ>+)6DY&<^fSCI#ru@T$NLSBfEA3EP< zxWVhl=*LwR)&rFriM+^xa@A43L6zZZe>HI+L^x|^=P(@#3e}6pi-Fo%e&iA@&N2gA zJyk^9-M%v&K5B%f=E>uIomRHYQf3-<%4z9xmoq4Qhox8I0u9JMb1$|A0dsZgQdn>p zl?my)vTUi^yqC38WjTp{><^0q*+X|y=aT(l+l|JYwo&$yY3a%Fo4D+^B7`c1n5Dh z2Ygm*iMY{ftnf%?G-6ifg4|1%Nc~#j5e()CYJ}k2!8O4$>!kp%D7+|SMQA<2YqN^C zv_YMM8;ynY61s@TseJ7?ZMi!62sI7dAikD#te9->9I20pzJKl0EK2r{X}NGQY@Far z&B(5$@BD5}c%v?xlPEvVx!BU%g((pGR|%K83NfgP>W=RsNLpH#r4O(eWQ5c;WjOL>z%9;bMype4!{-nXBJxI5(c?FVfJ+tsMY ztd_CH<&4=Q9T!p}P#ZF>mb#ROQggEN1m&+5-}J2njKA+9WZlDeiwF{ni??nhO@URe zEw0hy#W`Zi)^g)-h2ij`m<@P+-dw2X8mMjwc!uq_^+F01`-04=yhMNbH2xte*{avG z9oqLr+)SDO0Pt@p8lpJz+@CULbFY(uYs6J{A5s-}+Dnb6a`#fPN}t6c!oQVwRjapq zxs;VOVeU;mQAXQtxg(JJlo84mT%Se757ibV%2jnYCvZ*aMR8jM-m8~UB~%I;quhnS zk&rbn6w1(vI3d(X8)`>jSA8gj1Ueu?hW=zHL}AK_$92EeBaon=4&FjaT_~mbQwkqa z1UtRSIHhtwN@q|4F3av+U8|3oGpP-qU8z$kR{6i8cPOF?F$jKSM#!LBP!qX-GA@>w zRLh~8D&4nQh?99_}>d+(|E%ZfJ6W!(fAaBkv`h&zO&jM|ldjb=grSp#q6q&i$zp z#M4Q3%ag8Q^F~6zg~J$oy%U5TCds%#v36K)A}*xMW(Q>i3SV_ksS03)$(H7xgh-h> zzvx1=&x73G?vuns>zrnT$q}eKp7wi<1f<_QAcW~P-wCY28F{TvogjxS*tsh^C3(W` zLyt%bB#1W@pL90h4||K)gLE8exsWq*Yp zopI9f7!Vx24xLKY{aLm+vvq@ZmmQOJsm7;3CCgF(+ZFG9oBTtPn44|+`3MFM=xrz# zw=b1z7V@Se5D9s&E@-C6<+tACf+Yc%)?ACFcg4$^OUcXpUJgh2`|k$DdpC%M*j6P7 z{Ux$0?bh6dw1WKf!e=J4k1k?h=G)P&*1>wmXM1mt%S%bP{Oe9kGq)lmbVygDA2zmp z&PU)cPw4u%;9^vW#dfO$+0NT`T5APva~GS8xnFGrFWvmB&~U<(oWt3k!={^ZS>8y% zmuls$pFcknHVOTp!Hjq%{ZR}~97PNDTXH_WNwo7#P8gvucO6pvmkLBjaPmv1qEEC_ zczK{wr;<;UQ*>SPK>ZT@pqP|nP6!bAt}1Ycnn#K?)6Fz%mtRy4;S`$rq%TM%^U()s zO&57;oH}uWT|P(|<)ZC8k|iD#gb+0+om2ivg~qUoY%Y{T`$aywQYo6%HW&U&wBnb_ ziN17Ag-Pa}4F4Z=d4nsLEoZZEfQ;0#l;7I$v9J2e2_1i<;##K-6C@DvIhC3@?G*v^Qr{av|Z;^ zy3r=Iq7L(1yUi|?K;N2ol~PwqEy1sNwszR(GLKy4ENp-K|C`*A!u-R8fpLC+h;NBBa2QBwlIPK}G_P1pb=FFhL>nsW)sA)`e+B zL#!*LQ_Qzkh%AJL8rucN?v;cUZPblx6w9Jfs&y7FJ$Q(gmZz}|{K~jUR~gkhi)P{l zH)dxlk(|}}W5}plB1deuEX*uQ>_`Z9D6jHbhU_hu+FQ^r9f}Ff6~algc33T_^2QM7 z_atz{ogzVLB;6SoF6KvKB>*v0;6=1i3S*QlBpM7pJ`2}!k`csiv^7<;Z_>s%+9+%t zIeAf1ro`>IxmPozfL%%}0Ibyr?8$_qUegyriT~xG{Ka&@EM@XAoWT#e3=UW&uncH6D0>P3|G&^veu zA+|d~-X-X(Gm0)7g{oxB^$;6qnvptugr>a(K`7Aqs)X?ko~SbAS2|NdT)A5A2-Ffi+mKDo$)s2lhY%$Y$UVw26-d0$I@Q*M z>(YyWp^@)Hy6?<_efw@rziNR}g6zsDB#~7m)~MuSfMrrwLRmTWA-G*iJy#S{LP(NZ zluM{fh>#SDgo0$4TKq(#wsmnMqjG)2i*AmqgK#Ro22xd$apT!X5SBIF#oDnuN)HF6F} zlB5?xxRqO>MgAZkKQ%$A9~ z+j9*Qt@FYK%AWKj!+Amvb z@?OyPx_W(<%5HJSaM!Nb*yUz?mNIfFjp^h5FOi+}E;%)ZNHWv7wB#Di_)xHpC;h9+ z`$^k*cuo!*f=a+MLb>xBKTB7GwLLQQ%O{Aw@ZrP<4G&vZaiVF)<(YaV-Q~oxqZPvZ z$^QT!ON;m_RzGInwSAz+F}bOE7v7gFoXn$(eEzE@FH#cD$-%z-H|IymR=WFxF2hYU zBW9KNplmW{w&_nzlQw+?Jtd^6o*nEvzD%W;ryXZDJ2Igd4UIK+J>$ zqX;PVjVToUBOVF|ITEQxG1!B2D4cvPiVw*Ft4(VJGo`hv?PI%5sk%dKP$W70`P{gf@NdNYAE^)P;{+pL=Mt}TEQsRG1Uw!9bpu;j5tCNBo8RU znn5tF;+uAs#t3H^aVVfS9TyZKWom_8Ig;ylk}~71)P++{Hpfn6*Q2d9Lnz19XeDhP z3AN?h6!Z0}XUYmAio8ZJOZ94#NNYC;}k-Kc-0`n9+A01XHF>B zfgZ0{cc0=T}V3t*|3#TCvE+7Zn!3p>s}B0yk-N77|Jk8HUCbw>ILc z^a*&h?5}!m1SDrgs>6pP$weCjHMqhtFPcXyWzaLX+>CG-j$Ft<%iNW?M1%w)HVIad zThorwsR;9wW4nsE!)h(t2O$9CuH{_iV08#V5s@ebVo{1Er*I!_Srh&8Ej4h5i5LpR z2GO!Gj>Wf~Ckw+OJfc)MguFzYI5`;I^sLM`hWdp~YiuDzg#v+6sc8sss&4|NDw=fc zL$3``iV+g1k~L!x)&qA`5Z$^3#t0pG`F}*~;~i@RAcvGA54z%nI7WycadC|oU*$@n zojB4dqZ;`jC>$bs!6`18yl91adLh(TBM6Prj8sSBP|yiE!>zPYN->Gu7)2H! zgh`(`q&h=I+Q4;ETGOgA(vd-O5#tD=@lBxcC7D=*HMX}!7Levi)=-2Xo$}JvW?In( z5#b0Y>B5joRQawLdBzF^pvRSVu+V6n+#?;S)Q#6d5V;m0l#Bw{rKEW1xvqNBDcp6g zJe9*hRH+eWJ+DwG3)}J)V>!U7Fq&Aln(_OTV z(L&*Y#slt(kn~ExgaRZzF;$G6z8$ss!Cy*J+KehaLYhgG1{;AFJY(+|qq@u@cQs$B zSPoGgt%Zpw(K(k$!QWpcbkBKG;|#P?IyT+y`t>h6o&y=0-XBdDs?5MMZJ25i`N3v; zQzqVCb8WX4k3ftz+PU5|^zpLlSXVUjitTQ#5uR*AWMc$6$0(}`{gxh=7o;HwF84x- zX}?OQRy(T%ST6$6c93X{=$aL_w1OzoF}feo2_<1oQqW*jC`EM!Hz!wGK@fofrs%>X zi=`@cwI;BIX#`H15;X*-;k+@R$6cn05qZmO=n@^GgsF2ezmYWP@i$jbq9(A3P zD!^j_ir8VL0*LDftp5O|<8Zo>fdG+IIhAj07|xV*MX7%nXysMRm=PU=UEYfJT0kP# zh!HP!N11B3>n}D~iF}uhNxO#jfwCC05)DVH3+O+=ZqRp(J**yV0A6O;H)v^Uwe8*r z%+?(HA`uYnx>mx@O}xy_z-5)!MLz+=Ap3-DQ|z%5QxuL! zz35fn9pF&EuW(4TOY^mSJPNw#PGo)Dyn(R(VeK2BX^R>_G=iIDPWv!&kL#w z_@<>EbG;jT)`aI2n6M76p8NcPD?rLt|6r@cwI`i1WAn&_`k?ABGkAEVcCoK0*~* z=H5}N(Y_7YV|tQ+`&I?~RgkFr5v77(6jQ3q%0@)ISU!I6K6fb7GPk$N)%{SnrC7)n?FqWk1L9m0CT=Im&$Ku(KF&?r$!?WdQKew|Fh}JSl^G zxk{jtP8ayT-c^1GYB^V6*^#Hia-;cFhNS#^E}jT9 zHy(4Nx6xb5m0P%Z`lzK8JSKN|ool{45e_*yGiOV%$!#!Ka%{5>P!$eRG`JPCi39@U zUFnV-FP6zow#PDT=(Cm6a(-ic$}G%oxVl!l!<<^mvu!U*c|}(~^`^6}H(8slo7y{+ zIilr2&#PNhH{99vEZR!rw#Ax=sJByZQjd9VQD(LI7gCmWis>qBsvA@QhW)AS!)i4a zCR)(f)AFWYcJJ^}UDXm?OZkyC1GRFNAzooa0iv^PXacX>HndbWv>&BJo_5f;Y(*Ai zw{7JWp2wb;34Gwtcqw_*7^&XM3~lO>2^B6`;f>B*kcf!#S1aUYj2&)X5=kv)OuDeI(*;Da^`Unt)a6BEC)2MMJ6#3H(6+9sPNb`o*#%sYawy65 zKtu?NlCkzRMkt{b7@~?6sW7qjJ$y9bLkQJKXIBM5CO}AxGWxVzJQ1R9RmQ|dH=h*) zvy9U%{*Eg3!lvO{h;Yq*(xvS&7|FSNmHQIO{#9d+IO#oMY67Yoh`?5D_V0o^&}tNa zl@o%GR8WrJRhIT5aK?kR0;sLRsHgo&eW`<|%_zo-0@kV3_aOfOr53x?25#i~`%s9B znL4yZ*;3c_L){)^;YAR+Qq?zi^Cye|feoEao{B)*mZMN%%%le@7H)eOc40#=`s%eT z74qSE)Yd--5^7L)(6;KexOj+&-q%RK`$FbMq~R6C z6}iBPro@2VxVWOtIKhzxv=5rqtJ)mvds5E_#N{7l;bGCH-}5L1;htGta`wDnWg~uG zVHd7i^S;$E)L6`yYsPH%Mk|Hs)$75^?#mHZnJ})24axmQa%HqxdJ0kf6G{~%Y9^8f zH*|Wor}d`{D3EnP)LMH}15w+rxgDT0v7zQx64uepz+%~LrK@?_=EzuLV$zF;!*{Eo3g@8fM$mMza=JR#^8Gfq^VojR|wtrQL~B3 zjI;Yv9V@M8Pd%e;E*MwN_@F)BK0$`=3^$$p($pzAT6UBkg7hD>UtwR&&OlJ{g z*|y!v*AJCyI~{c306Rtqz|ls}`61#Mo)3jRpNSDg%PImpqLM^S#_e>uv)J;^Zpl&5 zF6v$bh~fp9;~0BFA#E;e3u;8iI>pe@$HJ9 zk*4bH&+c%!iYrywgR9SGTwXP4=0d0%8tvP=)n4{oS%mHGa*moT(bGJC>v}Eutynra z?T58VWxHg@VO&0`vW&Rg*gcoD{Nkh@kMmW#e3x3o!Fluu)8S5 zRkr~WHjAxZ_G2)l-jgEm$5DdRIpm)f)V0z2({^T)8EB=wi!Jd3%?;8Q8x8a({S~vA z6eE_IlM)elhONdc=kDD+XN$1bYlLn5SjXPJfS>7hTnGD?hkhimEaMGLhK)=0q}-bD1vyy6U8Fl|4|(ZAsO+KAV1&y&k`04EmB3cWo4<)ViCKX)Yd1x{~nx z$-H?qOK#8k#ZoF)&jE?rD_O z-Y(^x?SsTJ49MQ)qUA~u_pJ#QRHh*D%u&Y1yxhyqXASb+^VMJ`37iO1=|s?PN=_S*TeORCepHmM?g(}W z?m}};r6}Mr6dH30DKN1ik1piSDnoi&nQqhF`BYHt`q4{HRFwY!?XEsl2}IjyR`5zW zpZ%rWq*kDK#-(o*y-sA0E%7xz9w>j^x@GxjwZ$+M?`( zrm!j`Jxaf#UvS0|`>u1Cp{!OyTL_h76i^}pxDF^?R>CNQOY0bIT1Ah0D9SYBu(|xv zi;C8Cn(sIFi>2m%J7LhW=Wgf?V7l|)0e5kE!C12v#MLq`W;ZVYZLpaxCDI85gq)aR zlOmlCTJRuMQnSCi+VdC8bjIZO=7r;J@!7K5MOd?((qTQ=zbY$Dd$E4P{%o7F=Ro-OQ79wls5c(=!H6WyVT#Jlu0A=_?o_gD$y0 zFE2d&0>Q4F1xq*+E(DXWj70ZR3HG`|;6B_&X}w6Ih;6d*Z^4#!6M$YUZRkRB(R618 z@d0~77<*C~K;_t<2i>^;0NMr~)OX<6%~@zSDL2&~gh4GX@!iG%J>WbdKWc=~#$r|3 zQf#A$32lscSh=`nHd2lOl*QfwN2C*7j9zG+7stH@lofVp``&e?p9+M-Zd+h`N6k!_ za7QL^V$>zc%XxPypgUU^#nBLRX?my16k3{aVJ_cyoF5J){{R)L-1yU^9E&)B9JxSb z9X+IdD@%f6xU{2P!bWlH&ClJO7c791#5I=YYY?ygRd^{Q2)lz5K`{cKmmz};m3C9{aH{3Te`Jx*KP8P3f?1$n6!%n)_Xl0w3Y_$xHu^*E3#_+uE7?OR2j9K3v(XV^sQ;*@FU z70w9>(1kHp4*5ZHO=F_%P;7KNWmdO93s2*ORYB` zYHw9j=#d9~lTU(jX{sBoQ>v5BsXD5G-b=cZbfQ!Xrv#c-luJ#izEnWoy;82yx-QWI zc`oxw)krSttx!A9RE5Vx?={4MK1mY%(jZi|^+~N0b*csOOY%+f)o}2l1@m3!qE9_i zdFp{{6~dds6kWmCbMae7a1PXj8lz1jsOXdE$x zyi(n&Zk5)Fh3NzZtYIA@n^^FQX!4}j)k%Q%;|iygesMw9$#rAungqHrignT93L)08 zNna?Y!>WogK}m86D7PqrN%swiB<4_%-7Al31y>-D%v0`BZlXesNn}mCawcH^05XIe zsn;T=U00Lt-mApuluwxi{K}GT!w}|Bg#0wykWC_`yV8rFT7$%Sl2la|EtcDbIp-~B z)RleI8+ucSt7?+~w;WOod^94B5ZomM%){Ag5x8+HPyo>GE09dSq9T|_LQu*mHxiXH9(u(8?QCygos1@ktP?&c}nxm9yGq?x*9iW2<|F;t$F&Q_^JF zt@hM3;Y16~YD-{l_J}=pMB<$nS zb(yALtp4o!mZYcoRe1XCG_~$+NsJ87GE2%+4I7a)lLDhz3uuX7|5%Ntq6i(lB( z(y)T8o2*TCml|F%tWpon14_42E48+fgf3l9XfD>?5xEiC@uK0am5Ni)Yef5FwvmS_ z(rm)76zcg~6oN5`)+nuvVWL7zxNE@}VGoi)7Q( zqNx$Np`=rW5a3mcwU;}`Xlv;a-4Ynwn&e{u5)zC_Q(+GTCM=jQ2F@zp@gcR6ghX^( z+l8stML5DX#u0*3A|EKG294K6$EByLG7GUjnEr}0@I1;!Drid2bRsSfnyr|Xjkh*SM`(G%2w70h)0IxE85xJAu>dK24(_XDjnoUF zv^$4VruLx z)QE{$zA`jUx zFOL`^aN>bVzEFaAa}JcbFd`gjLQW_S-O#x~APU_h2t{anEi_Dvc|#s;&{>va;?gmS zmc@P`pY&RZV)Tnc*5wJe8yLd5iT1W<>al5L#o^WWW&SIK?4vl36#{ ziCI{|;!_SaMbfZXlXe~CRU5XhcCMbxIeWr8Rf6h58bx-t(h;w< zJM9G>0UE;4CEOG12n{0=U1>%XLD~#-qH#hHg=1C4(+HvzA;&~mIB5dq+vt|DxJofd z+#?9k>X2YjjbjAb{U5YPnj4W0k%o|>7ZTPHL>k1mCeN~reDzC6Qk8;smnQ2N`6v){ zD`QBaQWsV=xi*^C3$?b8t*BH{gl}EdSkZ9ZO%wWcimM{GO7TSzD2+}6xse`-e^g&O z(L_I7o1#@jq;3MH)y%_PAr&CoD$`q3i6J6HqX^am3s#c^at>JBblkJj;8}Ep6}*%* zY@t{XBrJO0;G)>N)9ty`xAIOlQQHcyDZrv-5eDPAdS_=_J9Lic6uXBaomw_TO`*79 z73IH+I4^#eastSAmiIDue}eU?0f@Pl>_*>`ZYJ9#7g#56HGQh$$u*an_3Zfn0J781 z$V@vZ^F&@XIl7kjzaJ&>4ZLpVSzpH7G3h*K_JoNabDFyNdkIx`DaQ^L6fXhyFIQ;2 zc4Mp1Qm00s|P-aR45D})~s*yT(SV$DpGl2Aik<05J zC4YkA^I<$BVF0({4V>ze19~A13-du=Vr(%nA`gUrPioDwC9y@@+!GjCXcJS8D zZOhLc#GEJE@^0m0D~MY5b7%6WxmlKe3q&<15|6|Fid>lphGPffbt;ygZN>&+qNmCV zLr#b`GXu;#!j)px@uEDjwb15J%)BB$@IYzMKNY@V=26`z2=13HopoIz9Q7~*(9L{i z8oC42D8M^*@*)&>+{$##t+AdO`=G2s`W2!jnBP~bWf~B?{t9HIHn{!!eLbj>_ZeoF z`#QQiOdvYPxNes|SfrPh5wu(yv|Osdqgjlw{{UwdBZC%O;SzOD@~-aUI}295R6}QR zHMi-CyqL6Q@|-UWxlmaeY$2k(2+J^`ep%r>w{$LurnJeCke5&SmXg4AqRr+HhLiwE ztUVs}POI}M3|?|&y9|QVIn!~+JUg=$`=ACpG%@G;&{}1v+ID_uD-d^yRxsefu_lMa z>QiP;!tlqLNjY7kGSAqBK{$AuHEh#IXp@KKANvpybQ z7Z#$jO`#aK_(+Tu+im4iTV}U6{6WLwpUwzw}*V9Q2ihJ#l7Rv{sFn z*3;=VNro^&7mqhmxs?Ya(z;QL>uH~vJ36X7&F~dfF%rLO=*G6TasL1p=}&FzhjOB7 zHB;Gzz>77~X}T6(s^-W_uFlEtCZb#M}oHyzt~ zl&rJmNtUIW?Nkwqi7qu^Z?z2Ds>#|A+J}q3m0U`V6jtFwR&oVL1l&l6JeEzCY+&8Q zqB?#hgUqGQ9R}W|OEl$&clRqZrYTvpitI)o@g<4vjN>HdbZ3xx;-%v=Z3`~4=^ksI zp4Eh!bf1{r&-qsz`8<1gm?wKk2vp6^l3Fg$HFMzQo*l}bL@syGeHWy5DpJoGMEcz4ZC7 zJDPOddj6fz6|l#Q`=~e?Zdj+b%pd$0JiB^0dV}sHiM6PuT;7wDg)k#gL_qZ6wFx_= zNoocTWT}i0t{Ch^9gP85$pzM!^s1rUBDB4qhl<;OujNRM%4D}%wG#U!Kug-0j6H4; zWwrxyOQ`7H6;yq#Km0t~%?*wWR;9xncd~|OaVAkS^CfOR<<4HX)IiC@6y2+ZKBq&{Zp${Q`3bqsqM#d2m6!SjW*hbIw#VKD7`DVif>5@czi!p1mc}UF;6(qxl~v? zp*VEfDT&=asG@)AQdx}--lY_6f?gr{kZo`RwY{NJ1OC;rBj1_R@?K|zJmYM<)wTKB zwRk+hau~QqYpywYc{J3u67i(SlX`sOp7BxL+Ni9;tazG&BXRg`Hb1OZ+zT{LK>2oB zsz$uO6Aq-ry?}-axL4v$vBF*$60J1a?ltz@>Q&Xla2^m3w>5*H0xQ5 zKs%xymZyX~AsekPRdU3Ghb5ThySZpdva(r|tTyG*@qhOfV!LM9YgkFZF!yF8vv0AV zTX~kYR#OgT*4zfKaj~V*R*lFu(*hZVmd_x-kU$J>%WjLMYp0VYTV7oG0EpP&whOC5 zZ|YR^Ji@x|4O=Y7yc9d=^Ekm8< zHw}fR=2-J7Z1TC@T%%*<5?VYeL|Zdm#R;!q}?7XJYFcK#)LmPMFR z-*WZN%D0n-OSolUZ5LcsdHH!Jm0Iv%CB(`k+Tqoos8dcB&93Eo(Jp>f(c<5wK1|E1 zLbVcicS(7?y9Bf)o0NzCCfuh6$ZPXj84V@-rx9C*Gkqr+h?ZcM(n5D@w(tiMFho)l zEjeK14%G+?I#&KKww8%waFZ+zo_v$8(>!e$uL1l*BZe~UgM&`xqdUK<_m^%t5O8_d zfqo#q#K&l6$-BRH8!HcY&2Z$z>FWGs$8{T#+M03NxMSh+q^)w-9X^pdlU>tleMEOA z40oN%4z9$vQ8)c5r_RX#0E!6%rPn3=$U_>qMQLqGQjbum7j%F5h~)x}gVdvzpZ!Re zZ2Hv>Ejjs@4u{NwWJF#e{L{y!5J8PDPvh=Pr8h1Z^=&}$`cl<1hqrR#iUJQUw>Rr>Rh8%f+;LmG%QF>z12-{ho>h zqZc=D^SkP|a_x&UEj7z{d33E-u3U_|Ou^c4CNrHnI3q_srDNgdi)XF;uuvQE8#4a@ zbXK7QW0$;}Ci>vIL`%te+SK3?8wY7M{$&Rxs2y=Y?de3XQWssR-Dn7#)wv~TKq=if zAVSc#rgRD=Hzqj+6vy?sGun(Amf=j|N+}8(P{usS&T?}g5ptkTq)Pt)au)6Usr3lA zy6b&VKD6noZ&2<-61$g0!yjq_?27N^O&g=~CBi=B3B%@^pUum4zckwa0CEJSQ+iXA zxCha41R)3}R)@D#VpP{G(I_)5<$jbmMYv(%}T7WO;Q> zNw_(v!_q6Rj5LH3Mk5|Df?-xSLMjJRp|UVct8msdQQsmK?iwHzW7ic#tFGiEvZ6t{ zvD}f7fjSV3BLPl2LqUvDJP_h`(k4n|lktYvoQxa2M5yIzm~oE-rK;{(wJR+&kwMm6 z)CAbn3*4p55R8dUj2tPpb()Rb%O=br4MrXsohs{j!57HQgVe*`w-V)Q^rS|G5Qz(J?j$zK69N#jF?`1BqFo5eK@+cG z#Bqt7@Sg~95JR6iXyr{t1R2{*TMmy@JKJ-+PQ=}gc~a2fwMh~#^4ZI`2H2Y0PihG7 z#i4Kwwqi09Is|>cG{b~D$9HZdZQDt5E(sX3JmeXKY@6EDOZaJ8D4TA}y%Hy-ofg`( zQA+G0Ogk)5x_mTbV44+y4Er`V@Qs239LuJOz?OP*Fal~-%PjLmo4L7?aiF6?WIwqP zCTYyF?^3VR``8l8Sfp%+D>rDMYKUAwxz%*)gXA@JZT z?KKJQn}%}|5h9Ov(V-rqO_*|Mq?nf@7W=Qan9WwQ;gp%Z7>jO5wY%$5UU*r3seqTi zENbyYx$agkHBOMeV-lU0Vn-6efCIRY<`I?K*2@I#PB$fswEI}h!8%&G8+L&&GM#aW zN#@Z*(kAlq$RT)L4W%FfNkTwx|P#M!u=aLcBi zOVLhcq4T*vfx&;L=@i2+2k^;9p>eh=;;zef>$K97GV^Xuy!^|J@|j*B3)%ZG_=pc- zQjTKSYY`K=;{&sA1SXb|ONv&%I+HrzSc)eYAMC(Ur|D~ zf@NdHC1b(}3G-Y&iJnWkkUp@bB9qICZnUf-n|9794PCk>*GeJRN<}+cl$j3J{bHO{ zyF|jRbc_<$L<*5MtEz$PlPbEX3su)4RdrEBxh2SHP#(1uwLu8=`A{WN)iS$Mpj4GjNP+cT(u9>sfaIc>lBxm{ zYHdGNiQXt`u?NvXb4R?6G3FjEmC`wB{eqMjKD;yz{j^v74Bf zW>d2alO#I361JqXYsFo#@iOL@xd8a4-e6uF@b)ZUZ2L)rVZG0}n=_8MbaoBDqd#(9 zDDE+f8=2jnalyo0Y>IL*E>cvIj%8%cVH@2b{p3sDx!*h6gYjCO+2|O*Xy*cT{6c1b zI}F7GV?bXGWV=BXBCxnJE0yxvUaVYfRB=R_mywaj9&`3hpS!{fh-KSiUQ@I~Oe_cYLLJfhCQL`U zi!#JPG-S^L;KGkL2IUxUzdBP_v9x@dSeci2h#q9byN(}>>nbgN>Tu%kqSVT_Fy06a zc8@KINl~n!LyLf^J3TJjE=o;J7kgx^$%p%enEXw|CgF=>SQO0GWT03>^d|KS80Rgt ztL?rdQ`m?$({@VBx3V7PL>pNV9SJn9g~a8&yI`DO`J0V$y{$6$V#gS(rxu06mV#(& z0gNL}tGtX{uPWn=C{S`Rr5~fZB@?Q=}nomZ0^2$ra6ESjI3OC|+o%YfWmqTkcKa8kADk&LspLr7Kj?u4fg+ z63VS$hH;I&e=-NxrWM+mbs#l{)W2;|>sZ!0pmwnli1MLnNcD=gkYOU z3~3rJb8Ki)g6epjP$6)tO2(8tZiMo z%C6nQD~=J$D8&a(wriLl(J_m-ko5ke%MQ4$)$F^K$$G`}pVW@M#Z45J_o)#X$egq}>~ z!xe^5a@BeZKpSJCiHS*!!}*X1=7_A#TgRSZfMQ783JbRV&>oSRZs^2Bt=7D&c5-hG zu#000l1!7Z00&yT$xe>HJiPwLEE0&q)DeKdsTi$8%-2T%cO@xya>5P>*j|ch)-u;j zwIP{EC(u@sVnvrE$?09&wV*UMD;cyunM5!CX6cHUT|;(A62!3f=CV+)WiArq`&1nPO!F0j@V z{ZiL$v_*qy7!_)|k>gbA!XgomQeT*$eMKdF({{skV4g9DEyARZY7vg;!U(!~Q80OH zMbzbuBA_6`9#BNm8bT;-+rlxTCg^EOp=7)^E`;29`}TIV9Nx!Q5QKc9$rROjVF(nVdBB$8<(~;SFo5kS#6C)$<2X1?2^WXu6@K01&@|CTE#1LZVhy(B&1K`e zs=nn)reVbgB(7wk4}28qQ*7B7GVC+MM`3cz4O^LRjz$h$O2Jz?>;Orkw(;svv@J-R z4UwqM7gQBA&Unul%s`Bs<&QFOlmtbyC`RC@sTx7Mh_1O*`X#158_nLw4|2oyidDv? z%$$TG-PdThY(>G8&$wdOq!nf;8O=Ec!$@2sSvDV2nyw=wzJv{>8v1^%ZlI{ZH!aA=|odVV;yRU*v1j1$vS{x6x}YN zLwBl5j3c_#y2ct3;N`9V0F`r4D~dJwC`r`YQHSb|BMWS*U_!8^V5G}JvABqKq8n`o zK~1+#3SFZJUkGhOr>r1|30q3Sso*;l}(F&nBdNj9vsyoYHilI;+P1Yx;aNwE?ksFZI#v07XbP7XO~kifcPr&7|(N-{+s z3>A>dIy*>9Cyimbdfp3!OT%tZL>2qkOrvbpEr@$)r;J-HRpRnEbWQdhaq2W)f~QR3 zkG2(VCPC>1>7CqLF&G#{T+kycYq1;CdS)}j$MBJSU8Rr{1EE!V_h&73MuJg~m@H;G z$OG)UFc@9W1*PmEM?5H2XI6Dz8&WM-UZ?7!&}(O7=enJxJv51*3Cxf=YCzny9>mcvUoau}O~JDB&w zA@?mqbFH{Hw_u;5@%yel&lTQ@%}u-yIpPd{YQ{$_oJzgJyjzsxTDN6fMQy+%%?q;6 znhVA7%u(=}?-`ySUECI~TNjaXVZ5?%Gd$uetYn89@unN0foC}2YR96P!{F$_^DH|U zunU6jXhu}|p>n=vd7%+DwUj+|T`N0r$&PBebHlV+)D1S7V9*|-U*%C{CgqwNk8nH6 zj`Nfs8P5dyDw<%oGoIK?{6ADiV|$(1?E~HJP}_yXY@UtulAOqlTp2sOU*W}T(njVC zrnEB9VwmQ>7xBlMHl-_aoC~~gPHrIvFE93#(nw{vKl4n(9x)%8< z4aV;nIaShjNNOGiaQr`-ibBzCAAnwnhULL`@Jq=sA|lpU{1R8GvjiyMvHTmh{VH2c zpTRHXPdf$BlDo!tmMEbLF<}tqUBzy&b}*Z*rTk|6)V4qi#r`U6yf)?1Qb&)81kS#OE-vamylb9H+2dO z$c#Uk7QIMr!*b_oZnpIpxlo+dNO1?Q#g@B4t=kh*?-4;_0TBNH%TXpyqkl?$6FriN z&DSbSYGH;%oPEH7bdR|_-Z26rUU%Brhh3d4!|;W>Kvptj)H`u-_mnJE=Z`I`##0fjf>oby;fc - - - - Integration Test - - - - - -

- - diff --git a/.github/actions/github-pages-deploy-action-4.6.3/jest.config.js b/.github/actions/github-pages-deploy-action-4.6.3/jest.config.js deleted file mode 100644 index 3cb6ada4..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - clearMocks: true, - moduleFileExtensions: ['js', 'ts'], - testEnvironment: 'node', - testMatch: ['**/*.test.ts'], - testRunner: 'jest-circus/runner', - transform: { - '^.+\\.ts$': 'ts-jest' - }, - verbose: true, - setupFiles: ['/__tests__/env.js'], - collectCoverage: true, - collectCoverageFrom: ['src/*.ts', '!src/constants.ts'] -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.d.ts deleted file mode 100644 index 3651d41e..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.d.ts +++ /dev/null @@ -1,96 +0,0 @@ -export declare enum TestFlag { - NONE = 0, - HAS_CHANGED_FILES = 2,// Assume changes to commit. - HAS_REMOTE_BRANCH = 4,// Assume remote repository has existing commits. - UNABLE_TO_REMOVE_ORIGIN = 8,// Assume we can't remove origin. - UNABLE_TO_UNSET_GIT_CONFIG = 16,// Assume we can't remove previously set git configs. - HAS_REJECTED_COMMIT = 32 -} -export interface ActionInterface { - /** The branch that the action should deploy to. */ - branch: string; - /** git push with --dry-run */ - dryRun?: boolean | null; - /** If your project generates hashed files on build you can use this option to automatically delete them from the deployment branch with each deploy. This option can be toggled on by setting it to true. */ - clean?: boolean | null; - /** If you need to use CLEAN but you'd like to preserve certain files or folders you can use this option. */ - cleanExclude?: string[]; - /** If you need to customize the commit message for an integration you can do so. */ - commitMessage?: string; - /** The hostname of which the GitHub Workflow is being run on, ie: github.com */ - hostname?: string; - /** The git config email. */ - email?: string; - /** The folder to deploy. */ - folder: string; - /** The auto generated folder path. */ - folderPath?: string; - /** Whether to force-push or attempt to merge existing changes. */ - force?: boolean; - /** Determines test scenarios the action is running in. */ - isTest: TestFlag; - /** The git config name. */ - name?: string; - /** The repository path, for example JamesIves/github-pages-deploy-action. */ - repositoryName?: string; - /** The fully qualified repository path, this gets auto generated if repositoryName is provided. */ - repositoryPath?: string; - /** Wipes the commit history from the deployment branch in favor of a single commit. */ - singleCommit?: boolean | null; - /** Determines if the action should run in silent mode or not. */ - silent: boolean; - /** Defines an SSH private key that can be used during deployment. This can also be set to true to use SSH deployment endpoints if you've already configured the SSH client outside of this package. */ - sshKey?: string | boolean | null; - /** If you'd like to push the contents of the deployment folder into a specific directory on the deployment branch you can specify it here. */ - targetFolder?: string; - /** Deployment token. */ - token?: string | null; - /** The token type, ie ssh/token, this gets automatically generated. */ - tokenType?: string; - /** The folder where your deployment project lives. */ - workspace: string; - /** GitHub tag name */ - tag?: string | null; -} -/** The minimum required values to run the action as a node module. */ -export interface NodeActionInterface { - /** The branch that the action should deploy to. */ - branch?: string; - /** The folder to deploy. */ - folder: string; - /** The repository path, for example JamesIves/github-pages-deploy-action. */ - repositoryName: string; - /** GitHub deployment token. */ - token?: string | null; - /** Determines if the action should run in silent mode or not. */ - silent: boolean; - /** Defines an SSH private key that can be used during deployment. This can also be set to true to use SSH deployment endpoints if you've already configured the SSH client outside of this package. */ - sshKey?: string | boolean | null; - /** The folder where your deployment project lives. */ - workspace: string; - /** Determines test scenarios the action is running in. */ - isTest: TestFlag; -} -export declare const action: ActionInterface; -/** Types for the required action parameters. */ -export type RequiredActionParameters = Pick; -/** Status codes for the action. */ -export declare enum Status { - SUCCESS = "success", - FAILED = "failed", - SKIPPED = "skipped", - RUNNING = "running" -} -export declare enum OperatingSystems { - LINUX = "Linux", - WINDOWS = "Windows", - MACOS = "macOS" -} -export declare const SupportedOperatingSystems: OperatingSystems[]; -export declare enum DefaultExcludedFiles { - CNAME = "CNAME", - NOJEKYLL = ".nojekyll", - SSH = ".ssh", - GIT = ".git", - GITHUB = ".github" -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.js deleted file mode 100644 index 22523c2e..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/constants.js +++ /dev/null @@ -1,122 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DefaultExcludedFiles = exports.SupportedOperatingSystems = exports.OperatingSystems = exports.Status = exports.action = exports.TestFlag = void 0; -const core_1 = require("@actions/core"); -const github = __importStar(require("@actions/github")); -const util_1 = require("./util"); -const { pusher, repository } = github.context.payload; -/* Flags to signal different scenarios to test cases */ -var TestFlag; -(function (TestFlag) { - TestFlag[TestFlag["NONE"] = 0] = "NONE"; - TestFlag[TestFlag["HAS_CHANGED_FILES"] = 2] = "HAS_CHANGED_FILES"; - TestFlag[TestFlag["HAS_REMOTE_BRANCH"] = 4] = "HAS_REMOTE_BRANCH"; - TestFlag[TestFlag["UNABLE_TO_REMOVE_ORIGIN"] = 8] = "UNABLE_TO_REMOVE_ORIGIN"; - TestFlag[TestFlag["UNABLE_TO_UNSET_GIT_CONFIG"] = 16] = "UNABLE_TO_UNSET_GIT_CONFIG"; - TestFlag[TestFlag["HAS_REJECTED_COMMIT"] = 32] = "HAS_REJECTED_COMMIT"; // Assume commit rejection. -})(TestFlag || (exports.TestFlag = TestFlag = {})); -/* Required action data that gets initialized when running within the GitHub Actions environment. */ -exports.action = { - folder: (0, core_1.getInput)('folder'), - branch: (0, core_1.getInput)('branch'), - commitMessage: (0, core_1.getInput)('commit-message'), - dryRun: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('dry-run')) - ? (0, core_1.getInput)('dry-run').toLowerCase() === 'true' - : false, - force: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('force')) - ? (0, core_1.getInput)('force').toLowerCase() === 'true' - : true, - clean: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('clean')) - ? (0, core_1.getInput)('clean').toLowerCase() === 'true' - : false, - cleanExclude: ((0, core_1.getInput)('clean-exclude') || '') - .split('\n') - .filter(l => l !== ''), - hostname: process.env.GITHUB_SERVER_URL - ? (0, util_1.stripProtocolFromUrl)(process.env.GITHUB_SERVER_URL) - : 'github.com', - isTest: TestFlag.NONE, - email: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('git-config-email')) - ? (0, core_1.getInput)('git-config-email') - : pusher && pusher.email - ? pusher.email - : `${process.env.GITHUB_ACTOR || 'github-pages-deploy-action'}@users.noreply.${process.env.GITHUB_SERVER_URL - ? (0, util_1.stripProtocolFromUrl)(process.env.GITHUB_SERVER_URL) - : 'github.com'}`, - name: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('git-config-name')) - ? (0, core_1.getInput)('git-config-name') - : pusher && pusher.name - ? pusher.name - : process.env.GITHUB_ACTOR - ? process.env.GITHUB_ACTOR - : 'GitHub Pages Deploy Action', - repositoryName: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('repository-name')) - ? (0, core_1.getInput)('repository-name') - : repository && repository.full_name - ? repository.full_name - : process.env.GITHUB_REPOSITORY, - token: (0, core_1.getInput)('token'), - singleCommit: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('single-commit')) - ? (0, core_1.getInput)('single-commit').toLowerCase() === 'true' - : false, - silent: !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('silent')) - ? (0, core_1.getInput)('silent').toLowerCase() === 'true' - : false, - sshKey: (0, util_1.isNullOrUndefined)((0, core_1.getInput)('ssh-key')) - ? false - : !(0, util_1.isNullOrUndefined)((0, core_1.getInput)('ssh-key')) && - (0, core_1.getInput)('ssh-key').toLowerCase() === 'true' - ? true - : (0, core_1.getInput)('ssh-key'), - targetFolder: (0, core_1.getInput)('target-folder'), - workspace: process.env.GITHUB_WORKSPACE || '', - tag: (0, core_1.getInput)('tag') -}; -/** Status codes for the action. */ -var Status; -(function (Status) { - Status["SUCCESS"] = "success"; - Status["FAILED"] = "failed"; - Status["SKIPPED"] = "skipped"; - Status["RUNNING"] = "running"; -})(Status || (exports.Status = Status = {})); -/* Platform codes. */ -var OperatingSystems; -(function (OperatingSystems) { - OperatingSystems["LINUX"] = "Linux"; - OperatingSystems["WINDOWS"] = "Windows"; - OperatingSystems["MACOS"] = "macOS"; -})(OperatingSystems || (exports.OperatingSystems = OperatingSystems = {})); -exports.SupportedOperatingSystems = [OperatingSystems.LINUX]; -/* Excluded files. */ -var DefaultExcludedFiles; -(function (DefaultExcludedFiles) { - DefaultExcludedFiles["CNAME"] = "CNAME"; - DefaultExcludedFiles["NOJEKYLL"] = ".nojekyll"; - DefaultExcludedFiles["SSH"] = ".ssh"; - DefaultExcludedFiles["GIT"] = ".git"; - DefaultExcludedFiles["GITHUB"] = ".github"; -})(DefaultExcludedFiles || (exports.DefaultExcludedFiles = DefaultExcludedFiles = {})); diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.d.ts deleted file mode 100644 index 4cda3b3b..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -type ExecuteOutput = { - stdout: string; - stderr: string; -}; -/** Wrapper around the GitHub toolkit exec command which returns the output. - * Also allows you to easily toggle the current working directory. - * - * @param {string} cmd - The command to execute. - * @param {string} cwd - The current working directory. - * @param {boolean} silent - Determines if the in/out should be silenced or not. - * @param {boolean} ignoreReturnCode - Determines whether to throw an error - * on a non-zero exit status or to leave implementation up to the caller. - */ -export declare function execute(cmd: string, cwd: string, silent: boolean, ignoreReturnCode?: boolean): Promise; -export declare function stdout(data: Buffer | string): void; -export declare function stderr(data: Buffer | string): void; -export {}; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.js deleted file mode 100644 index 3b0a5660..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/execute.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.execute = execute; -exports.stdout = stdout; -exports.stderr = stderr; -const exec_1 = require("@actions/exec"); -const buffer_1 = __importDefault(require("buffer")); -const output = { stdout: '', stderr: '' }; -/** Wrapper around the GitHub toolkit exec command which returns the output. - * Also allows you to easily toggle the current working directory. - * - * @param {string} cmd - The command to execute. - * @param {string} cwd - The current working directory. - * @param {boolean} silent - Determines if the in/out should be silenced or not. - * @param {boolean} ignoreReturnCode - Determines whether to throw an error - * on a non-zero exit status or to leave implementation up to the caller. - */ -function execute(cmd_1, cwd_1, silent_1) { - return __awaiter(this, arguments, void 0, function* (cmd, cwd, silent, ignoreReturnCode = false) { - output.stdout = ''; - output.stderr = ''; - yield (0, exec_1.exec)(cmd, [], { - // Silences the input unless the INPUT_DEBUG flag is set. - silent, - cwd, - listeners: { stdout, stderr }, - ignoreReturnCode - }); - return Promise.resolve(output); - }); -} -function stdout(data) { - const dataString = data.toString().trim(); - if (output.stdout.length + dataString.length < - buffer_1.default.constants.MAX_STRING_LENGTH) { - output.stdout += dataString; - } -} -function stderr(data) { - const dataString = data.toString().trim(); - if (output.stderr.length + dataString.length < - buffer_1.default.constants.MAX_STRING_LENGTH) { - output.stderr += dataString; - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/git.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/git.d.ts deleted file mode 100644 index 9550dfcd..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/git.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { ActionInterface, Status } from './constants'; -/** - * Initializes git in the workspace. - */ -export declare function init(action: ActionInterface): Promise; -/** - * Runs the necessary steps to make the deployment. - */ -export declare function deploy(action: ActionInterface): Promise; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/git.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/git.js deleted file mode 100644 index 01feede1..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/git.js +++ /dev/null @@ -1,217 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.init = init; -exports.deploy = deploy; -const core_1 = require("@actions/core"); -const io_1 = require("@actions/io"); -const fs_1 = __importDefault(require("fs")); -const constants_1 = require("./constants"); -const execute_1 = require("./execute"); -const worktree_1 = require("./worktree"); -const util_1 = require("./util"); -/** - * Initializes git in the workspace. - */ -function init(action) { - return __awaiter(this, void 0, void 0, function* () { - try { - (0, core_1.info)(`Deploying using ${action.tokenType}… 🔑`); - (0, core_1.info)('Configuring git…'); - try { - yield (0, execute_1.execute)(`git config --global --add safe.directory "${action.workspace}"`, action.workspace, action.silent); - } - catch (_a) { - (0, core_1.info)('Unable to set workspace as a safe directory…'); - } - yield (0, execute_1.execute)(`git config user.name "${action.name}"`, action.workspace, action.silent); - yield (0, execute_1.execute)(`git config user.email "${action.email}"`, action.workspace, action.silent); - yield (0, execute_1.execute)(`git config core.ignorecase false`, action.workspace, action.silent); - try { - if ((process.env.CI && !action.sshKey) || action.isTest) { - /* Ensures that previously set Git configs do not interfere with the deployment. - Only runs in the GitHub Actions CI environment if a user is not using an SSH key. - */ - yield (0, execute_1.execute)(`git config --local --unset-all http.https://${action.hostname}/.extraheader`, action.workspace, action.silent); - } - if (action.isTest === constants_1.TestFlag.UNABLE_TO_UNSET_GIT_CONFIG) { - throw new Error(); - } - } - catch (_b) { - (0, core_1.info)('Unable to unset previous git config authentication as it may not exist, continuing…'); - } - try { - yield (0, execute_1.execute)(`git remote rm origin`, action.workspace, action.silent); - if (action.isTest === constants_1.TestFlag.UNABLE_TO_REMOVE_ORIGIN) { - throw new Error(); - } - } - catch (_c) { - (0, core_1.info)('Attempted to remove origin but failed, continuing…'); - } - yield (0, execute_1.execute)(`git remote add origin ${action.repositoryPath}`, action.workspace, action.silent); - (0, core_1.info)('Git configured… 🔧'); - } - catch (error) { - throw new Error(`There was an error initializing the repository: ${(0, util_1.suppressSensitiveInformation)((0, util_1.extractErrorMessage)(error), action)} ❌`); - } - }); -} -/** - * Runs the necessary steps to make the deployment. - */ -function deploy(action) { - return __awaiter(this, void 0, void 0, function* () { - const temporaryDeploymentDirectory = 'github-pages-deploy-action-temp-deployment-folder'; - const temporaryDeploymentBranch = `github-pages-deploy-action/${Math.random() - .toString(36) - .substr(2, 9)}`; - (0, core_1.info)('Starting to commit changes…'); - try { - const commitMessage = !(0, util_1.isNullOrUndefined)(action.commitMessage) - ? action.commitMessage - : `Deploying to ${action.branch}${process.env.GITHUB_SHA - ? ` from @ ${process.env.GITHUB_REPOSITORY}@${process.env.GITHUB_SHA}` - : ''} 🚀`; - // Checks to see if the remote exists prior to deploying. - const branchExists = action.isTest & constants_1.TestFlag.HAS_REMOTE_BRANCH || - Boolean((yield (0, execute_1.execute)(`git ls-remote --heads ${action.repositoryPath} refs/heads/${action.branch}`, action.workspace, action.silent)).stdout); - yield (0, worktree_1.generateWorktree)(action, temporaryDeploymentDirectory, branchExists); - /* Relaxes permissions of folder due to be deployed so rsync can write to/from it. */ - try { - yield (0, execute_1.execute)(`chmod -R +rw ${action.folderPath}`, action.workspace, action.silent); - } - catch (_a) { - (0, core_1.info)(`Unable to modify permissions…`); - } - // Ensures that items that need to be excluded from the clean job get parsed. - let excludes = ''; - if (action.clean && action.cleanExclude) { - for (const item of action.cleanExclude) { - excludes += `--exclude ${item} `; - } - } - if (action.targetFolder) { - (0, core_1.info)(`Creating target folder if it doesn't already exist… 📌`); - yield (0, io_1.mkdirP)(`${temporaryDeploymentDirectory}/${action.targetFolder}`); - } - /* - Pushes all of the build files into the deployment directory. - Allows the user to specify the root if '.' is provided. - rsync is used to prevent file duplication. */ - yield (0, execute_1.execute)(`rsync -q -av --checksum --progress ${action.folderPath}/. ${action.targetFolder - ? `${temporaryDeploymentDirectory}/${action.targetFolder}` - : temporaryDeploymentDirectory} ${action.clean - ? `--delete ${excludes} ${!fs_1.default.existsSync(`${action.folderPath}/${constants_1.DefaultExcludedFiles.CNAME}`) - ? `--exclude ${constants_1.DefaultExcludedFiles.CNAME}` - : ''} ${!fs_1.default.existsSync(`${action.folderPath}/${constants_1.DefaultExcludedFiles.NOJEKYLL}`) - ? `--exclude ${constants_1.DefaultExcludedFiles.NOJEKYLL}` - : ''}` - : ''} --exclude ${constants_1.DefaultExcludedFiles.SSH} --exclude ${constants_1.DefaultExcludedFiles.GIT} --exclude ${constants_1.DefaultExcludedFiles.GITHUB} ${action.folderPath === action.workspace - ? `--exclude ${temporaryDeploymentDirectory}` - : ''}`, action.workspace, action.silent); - if (action.singleCommit) { - yield (0, execute_1.execute)(`git add --all .`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - } - // Use git status to check if we have something to commit. - // Special case is singleCommit with existing history, when - // we're really interested if the diff against the upstream branch - // changed. - const checkGitStatus = branchExists && action.singleCommit - ? `git diff origin/${action.branch}` - : `git status --porcelain`; - (0, core_1.info)(`Checking if there are files to commit…`); - const hasFilesToCommit = action.isTest & constants_1.TestFlag.HAS_CHANGED_FILES || - Boolean((yield (0, execute_1.execute)(checkGitStatus, `${action.workspace}/${temporaryDeploymentDirectory}`, true // This output is always silenced due to the large output it creates. - )).stdout); - if ((!action.singleCommit && !hasFilesToCommit) || - // Ignores the case where single commit is true with a target folder to prevent incorrect early exiting. - (action.singleCommit && !action.targetFolder && !hasFilesToCommit)) { - return constants_1.Status.SKIPPED; - } - // Commits to GitHub. - yield (0, execute_1.execute)(`git add --all .`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - yield (0, execute_1.execute)(`git checkout -b ${temporaryDeploymentBranch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - yield (0, execute_1.execute)(`git commit -m "${commitMessage}" --quiet --no-verify`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - if (action.dryRun) { - (0, core_1.info)(`Dry run complete`); - return constants_1.Status.SUCCESS; - } - if (action.force) { - // Force-push our changes, overwriting any changes that were added in - // the meantime - (0, core_1.info)(`Force-pushing changes...`); - yield (0, execute_1.execute)(`git push --force ${action.repositoryPath} ${temporaryDeploymentBranch}:${action.branch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - } - else { - const ATTEMPT_LIMIT = 3; - // Attempt to push our changes, but fetch + rebase if there were - // other changes added in the meantime - let attempt = 0; - // Keep track of whether the most recent attempt was rejected - let rejected = false; - do { - attempt++; - if (attempt > ATTEMPT_LIMIT) - throw new Error(`Attempt limit exceeded`); - // Handle rejection for the previous attempt first such that, on - // the final attempt, time is not wasted rebasing it when it will - // not be pushed - if (rejected) { - (0, core_1.info)(`Fetching upstream ${action.branch}…`); - yield (0, execute_1.execute)(`git fetch ${action.repositoryPath} ${action.branch}:${action.branch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - (0, core_1.info)(`Rebasing this deployment onto ${action.branch}…`); - yield (0, execute_1.execute)(`git rebase ${action.branch} ${temporaryDeploymentBranch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - } - (0, core_1.info)(`Pushing changes… (attempt ${attempt} of ${ATTEMPT_LIMIT})`); - const pushResult = yield (0, execute_1.execute)(`git push --porcelain ${action.repositoryPath} ${temporaryDeploymentBranch}:${action.branch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent, true // Ignore non-zero exit status - ); - rejected = - Boolean(action.isTest) || - pushResult.stdout.includes(`[rejected]`) || - pushResult.stdout.includes(`[remote rejected]`); - if (rejected) - (0, core_1.info)('Updates were rejected'); - // If the push failed for any fatal reason other than being rejected, - // there is a problem - if (!rejected && - pushResult.stderr.split(/\n/).some(s => s.trim().startsWith('fatal:'))) { - throw new Error(pushResult.stderr); - } - } while (rejected); - } - (0, core_1.info)(`Changes committed to the ${action.branch} branch… 📦`); - if (action.tag) { - (0, core_1.info)(`Adding '${action.tag}' tag to the commit…`); - yield (0, execute_1.execute)(`git tag ${action.tag}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - (0, core_1.info)(`Pushing '${action.tag}' tag to repository…`); - yield (0, execute_1.execute)(`git push origin ${action.tag}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - (0, core_1.info)(`Tag '${action.tag}' created and pushed to the ${action.branch} branch… 🏷️`); - } - return constants_1.Status.SUCCESS; - } - catch (error) { - throw new Error(`The deploy step encountered an error: ${(0, util_1.suppressSensitiveInformation)((0, util_1.extractErrorMessage)(error), action)} ❌`); - } - finally { - // Cleans up temporary files/folders and restores the git state. - (0, core_1.info)('Running post deployment cleanup jobs… 🗑️'); - yield (0, execute_1.execute)(`git checkout -B ${temporaryDeploymentBranch}`, `${action.workspace}/${temporaryDeploymentDirectory}`, action.silent); - yield (0, execute_1.execute)(`chmod -R +rw ${temporaryDeploymentDirectory}`, action.workspace, action.silent); - yield (0, execute_1.execute)(`git worktree remove ${temporaryDeploymentDirectory} --force`, action.workspace, action.silent); - yield (0, io_1.rmRF)(temporaryDeploymentDirectory); - } - }); -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.d.ts deleted file mode 100644 index 90d04d23..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { ActionInterface, NodeActionInterface } from './constants'; -/** Initializes and runs the action. - * - * @param {object} configuration - The action configuration. - */ -export default function run(configuration: ActionInterface | NodeActionInterface): Promise; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.js deleted file mode 100644 index c3b74648..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/lib.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = run; -const core_1 = require("@actions/core"); -const constants_1 = require("./constants"); -const git_1 = require("./git"); -const ssh_1 = require("./ssh"); -const util_1 = require("./util"); -/** Initializes and runs the action. - * - * @param {object} configuration - The action configuration. - */ -function run(configuration) { - return __awaiter(this, void 0, void 0, function* () { - let status = constants_1.Status.RUNNING; - try { - (0, core_1.info)(` - ╭━━━╮╭╮╭╮╱╭╮╱╱╭╮╱╱╭━━━╮ - ┃╭━╮┣╯╰┫┃╱┃┃╱╱┃┃╱╱┃╭━╮┃ - ┃┃╱╰╋╮╭┫╰━╯┣╮╭┫╰━╮┃╰━╯┣━━┳━━┳━━┳━━╮ - ┃┃╭━╋┫┃┃╭━╮┃┃┃┃╭╮┃┃╭━━┫╭╮┃╭╮┃┃━┫━━┫ - ┃╰┻━┃┃╰┫┃╱┃┃╰╯┃╰╯┃┃┃╱╱┃╭╮┃╰╯┃┃━╋━━┃ - ╰━━━┻┻━┻╯╱╰┻━━┻━━╯╰╯╱╱╰╯╰┻━╮┣━━┻━━╯ - ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━╯┃ - ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰━━╯ - ╭━━━╮╱╱╱╱╱╭╮╱╱╱╱╱╱╱╱╭━━━╮╱╱╭╮ - ╰╮╭╮┃╱╱╱╱╱┃┃╱╱╱╱╱╱╱╱┃╭━╮┃╱╭╯╰╮ - ╱┃┃┃┣━━┳━━┫┃╭━━┳╮╱╭╮┃┃╱┃┣━┻╮╭╋┳━━┳━╮ - ╱┃┃┃┃┃━┫╭╮┃┃┃╭╮┃┃╱┃┃┃╰━╯┃╭━┫┃┣┫╭╮┃╭╮╮ - ╭╯╰╯┃┃━┫╰╯┃╰┫╰╯┃╰━╯┃┃╭━╮┃╰━┫╰┫┃╰╯┃┃┃┃ - ╰━━━┻━━┫╭━┻━┻━━┻━╮╭╯╰╯╱╰┻━━┻━┻┻━━┻╯╰╯ - ╱╱╱╱╱╱╱┃┃╱╱╱╱╱╱╭━╯┃ - ╱╱╱╱╱╱╱╰╯╱╱╱╱╱╱╰━━╯ - `); - (0, core_1.info)(` - 💖 Support: https://github.com/sponsors/JamesIves - 📣 Maintained by James Ives: https://jamesiv.es - - 🚀 Getting Started Guide: https://github.com/JamesIves/github-pages-deploy-action - ❓ Discussions / Q&A: https://github.com/JamesIves/github-pages-deploy-action/discussions - 🔧 Report a Bug: https://github.com/JamesIves/github-pages-deploy-action/issues`); - (0, core_1.info)('Checking configuration and starting deployment… 🚦'); - const settings = Object.assign(Object.assign({}, configuration), { - // Set the default branch for Node configurations - branch: !(0, util_1.isNullOrUndefined)(configuration.branch) - ? configuration.branch - : 'gh-pages' }); - // Defines the repository/folder paths and token types. - // Also verifies that the action has all of the required parameters. - settings.folderPath = (0, util_1.generateFolderPath)(settings); - (0, util_1.checkParameters)(settings); - settings.repositoryPath = (0, util_1.generateRepositoryPath)(settings); - settings.tokenType = (0, util_1.generateTokenType)(settings); - if (settings.sshKey) { - yield (0, ssh_1.configureSSH)(settings); - } - yield (0, git_1.init)(settings); - status = yield (0, git_1.deploy)(settings); - } - catch (error) { - status = constants_1.Status.FAILED; - (0, core_1.setFailed)((0, util_1.extractErrorMessage)(error)); - } - finally { - if (status === constants_1.Status.FAILED) { - (0, core_1.notice)('Deployment failed! ❌'); - } - else if (status === constants_1.Status.SUCCESS) { - (0, core_1.info)('Completed deployment successfully! ✅'); - } - else { - (0, core_1.info)('There is nothing to commit. Exiting early… 📭'); - } - (0, core_1.exportVariable)('deployment_status', status); - (0, core_1.setOutput)('deployment-status', status); - } - }); -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/main.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/main.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/main.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/main.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/main.js deleted file mode 100644 index 6c577dea..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/main.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const constants_1 = require("./constants"); -const lib_1 = __importDefault(require("./lib")); -// Runs the action within the GitHub actions environment. -(0, lib_1.default)(constants_1.action); diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.d.ts deleted file mode 100644 index 53a2d696..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { ActionInterface } from './constants'; -/** - * Configures SSH for the workflow. - */ -export declare function configureSSH(action: ActionInterface): Promise; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.js deleted file mode 100644 index ffdc13c4..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/ssh.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.configureSSH = configureSSH; -const core_1 = require("@actions/core"); -const io_1 = require("@actions/io"); -const child_process_1 = require("child_process"); -const fs_1 = require("fs"); -const util_1 = require("./util"); -/** - * Configures SSH for the workflow. - */ -function configureSSH(action) { - return __awaiter(this, void 0, void 0, function* () { - try { - if (typeof action.sshKey === 'string') { - const sshDirectory = `${process.env['HOME']}/.ssh`; - const sshKnownHostsDirectory = `${sshDirectory}/known_hosts`; - // SSH fingerprints provided by GitHub: https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/githubs-ssh-key-fingerprints - const sshGitHubKnownHostRsa = `\n${action.hostname} ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n`; - const sshGitHubKnownHostDss = `\n${action.hostname} ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==\n`; - (0, core_1.info)(`Configuring SSH client… 🔑`); - yield (0, io_1.mkdirP)(sshDirectory); - (0, fs_1.appendFileSync)(sshKnownHostsDirectory, sshGitHubKnownHostRsa); - (0, fs_1.appendFileSync)(sshKnownHostsDirectory, sshGitHubKnownHostDss); - // Initializes SSH agent. - const agentOutput = (0, child_process_1.execFileSync)('ssh-agent').toString().split('\n'); - agentOutput.map(line => { - const exportableVariables = /^(SSH_AUTH_SOCK|SSH_AGENT_PID)=(.*); export \1/.exec(line); - if (exportableVariables && exportableVariables.length) { - (0, core_1.exportVariable)(exportableVariables[1], exportableVariables[2]); - } - }); - // Adds the SSH key to the agent. - action.sshKey.split(/(?=-----BEGIN)/).map((line) => __awaiter(this, void 0, void 0, function* () { - (0, child_process_1.execSync)('ssh-add -', { input: `${line.trim()}\n` }); - })); - (0, child_process_1.execSync)('ssh-add -l'); - } - else { - (0, core_1.info)(`Skipping SSH client configuration… ⌚`); - } - } - catch (error) { - throw new Error(`The ssh client configuration encountered an error: ${(0, util_1.suppressSensitiveInformation)((0, util_1.extractErrorMessage)(error), action)} ❌`); - } - }); -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/util.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/util.d.ts deleted file mode 100644 index 3753f4a2..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/util.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ActionInterface } from './constants'; -/** - * Utility function that checks to see if a value is undefined or not. - * If allowEmptyString is passed the parameter is allowed to contain an empty string as a valid parameter. - */ -export declare const isNullOrUndefined: (value: unknown) => value is undefined | null | ""; -/** - * Generates a token type used for the action. - */ -export declare const generateTokenType: (action: ActionInterface) => string; -/** - * Generates a the repository path used to make the commits. - */ -export declare const generateRepositoryPath: (action: ActionInterface) => string; -/** - * Generate absolute folder path by the provided folder name - */ -export declare const generateFolderPath: (action: ActionInterface) => string; -/** - * Verifies the action has the required parameters to run, otherwise throw an error. - */ -export declare const checkParameters: (action: ActionInterface) => void; -/** - * Suppresses sensitive information from being exposed in error messages. - */ -export declare const suppressSensitiveInformation: (str: string, action: ActionInterface) => string; -/** - * Extracts message from an error object. - */ -export declare const extractErrorMessage: (error: unknown) => string; -/** - * Strips the protocol from a provided URL. - */ -export declare const stripProtocolFromUrl: (url: string) => string; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/util.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/util.js deleted file mode 100644 index 84aa127c..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/util.js +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.stripProtocolFromUrl = exports.extractErrorMessage = exports.suppressSensitiveInformation = exports.checkParameters = exports.generateFolderPath = exports.generateRepositoryPath = exports.generateTokenType = exports.isNullOrUndefined = void 0; -const core_1 = require("@actions/core"); -const fs_1 = require("fs"); -const path_1 = __importDefault(require("path")); -const constants_1 = require("./constants"); -/** - * Replaces all instances of a match in a string. - */ -const replaceAll = (input, find, replace) => input.split(find).join(replace); -/** - * Utility function that checks to see if a value is undefined or not. - * If allowEmptyString is passed the parameter is allowed to contain an empty string as a valid parameter. - */ -const isNullOrUndefined = (value) => typeof value === 'undefined' || value === null || value === ''; -exports.isNullOrUndefined = isNullOrUndefined; -/** - * Generates a token type used for the action. - */ -const generateTokenType = (action) => action.sshKey ? 'SSH Deploy Key' : action.token ? 'Deploy Token' : '…'; -exports.generateTokenType = generateTokenType; -/** - * Generates a the repository path used to make the commits. - */ -const generateRepositoryPath = (action) => action.sshKey - ? `git@${action.hostname}:${action.repositoryName}` - : `https://${`x-access-token:${action.token}`}@${action.hostname}/${action.repositoryName}.git`; -exports.generateRepositoryPath = generateRepositoryPath; -/** - * Generate absolute folder path by the provided folder name - */ -const generateFolderPath = (action) => { - const folderName = action['folder']; - return path_1.default.isAbsolute(folderName) - ? folderName - : folderName.startsWith('~') - ? folderName.replace('~', process.env.HOME) - : path_1.default.join(action.workspace, folderName); -}; -exports.generateFolderPath = generateFolderPath; -/** - * Checks for the required tokens and formatting. Throws an error if any case is matched. - */ -const hasRequiredParameters = (action, params) => { - const nonNullParams = params.filter(param => !(0, exports.isNullOrUndefined)(action[param])); - return Boolean(nonNullParams.length); -}; -/** - * Verifies the action has the required parameters to run, otherwise throw an error. - */ -const checkParameters = (action) => { - if (!hasRequiredParameters(action, ['token', 'sshKey'])) { - throw new Error('No deployment token/method was provided. You must provide the action with either a Personal Access Token or the GitHub Token secret in order to deploy. For more details on how to use an ssh deploy key please refer to the documentation.'); - } - if (!hasRequiredParameters(action, ['branch'])) { - throw new Error('Branch is required.'); - } - if (!hasRequiredParameters(action, ['folder'])) { - throw new Error('You must provide the action with a folder to deploy.'); - } - if (!(0, fs_1.existsSync)(action.folderPath)) { - throw new Error(`The directory you're trying to deploy named ${action.folderPath} doesn't exist. Please double check the path and any prerequisite build scripts and try again. ❗`); - } - if (!constants_1.SupportedOperatingSystems.includes(process.env.RUNNER_OS)) { - (0, core_1.warning)(`The operating system you're using is not supported and results may be varied. Please refer to the documentation for more details. ❗`); - } -}; -exports.checkParameters = checkParameters; -/** - * Suppresses sensitive information from being exposed in error messages. - */ -const suppressSensitiveInformation = (str, action) => { - let value = str; - if ((0, core_1.isDebug)()) { - // Data is unmasked in debug mode. - return value; - } - const orderedByLength = [action.token, action.repositoryPath].filter(Boolean).sort((a, b) => b.length - a.length); - for (const find of orderedByLength) { - value = replaceAll(value, find, '***'); - } - return value; -}; -exports.suppressSensitiveInformation = suppressSensitiveInformation; -/** - * Extracts message from an error object. - */ -const extractErrorMessage = (error) => error instanceof Error - ? error.message - : typeof error == 'string' - ? error - : JSON.stringify(error); -exports.extractErrorMessage = extractErrorMessage; -/** - * Strips the protocol from a provided URL. - */ -const stripProtocolFromUrl = (url) => url.replace(/^(?:https?:\/\/)?(?:www\.)?/i, '').split('/')[0]; -exports.stripProtocolFromUrl = stripProtocolFromUrl; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.d.ts b/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.d.ts deleted file mode 100644 index 008f878e..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ActionInterface } from './constants'; -/** - * Git checkout command. - */ -export declare class GitCheckout { - /** - * @param orphan - Bool indicating if the branch is an orphan. - */ - orphan: boolean; - /** - * @param commitish - The commitish to check out. - */ - commitish?: string | null; - /** - * @param branch - The branch name. - */ - branch: string; - /** - * @param branch - The branch name. - * @param commitish - The commitish to check out. - */ - constructor(branch: string, commitish?: string); - /** - * Returns the string representation of the git checkout command. - */ - toString(): string; -} -/** - * Generates a git worktree. - * @param action - The action interface. - * @param worktreedir - The worktree directory. - * @param branchExists - Bool indicating if the branch exists. - */ -export declare function generateWorktree(action: ActionInterface, worktreedir: string, branchExists: boolean | number): Promise; diff --git a/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.js b/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.js deleted file mode 100644 index a44a5559..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/lib/worktree.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GitCheckout = void 0; -exports.generateWorktree = generateWorktree; -const core_1 = require("@actions/core"); -const execute_1 = require("./execute"); -const util_1 = require("./util"); -/** - * Git checkout command. - */ -class GitCheckout { - /** - * @param branch - The branch name. - * @param commitish - The commitish to check out. - */ - constructor(branch, commitish) { - /** - * @param orphan - Bool indicating if the branch is an orphan. - */ - this.orphan = false; - /** - * @param commitish - The commitish to check out. - */ - this.commitish = null; - this.branch = branch; - this.commitish = commitish || null; - } - /** - * Returns the string representation of the git checkout command. - */ - toString() { - return [ - 'git', - 'checkout', - this.orphan ? '--orphan' : '-B', - this.branch, - this.commitish || '' - ].join(' '); - } -} -exports.GitCheckout = GitCheckout; -/** - * Generates a git worktree. - * @param action - The action interface. - * @param worktreedir - The worktree directory. - * @param branchExists - Bool indicating if the branch exists. - */ -function generateWorktree(action, worktreedir, branchExists) { - return __awaiter(this, void 0, void 0, function* () { - try { - (0, core_1.info)('Creating worktree…'); - if (branchExists) { - yield (0, execute_1.execute)(`git fetch --no-recurse-submodules --depth=1 origin ${action.branch}`, action.workspace, action.silent); - } - yield (0, execute_1.execute)(`git worktree add --no-checkout --detach ${worktreedir}`, action.workspace, action.silent); - let branchName = action.branch; - let checkout = new GitCheckout(branchName); - if (branchExists) { - // There's existing data on the branch to check out - checkout.commitish = `origin/${action.branch}`; - } - if (!branchExists || - (action.singleCommit && action.branch !== process.env.GITHUB_REF_NAME)) { - /* Create a new history if we don't have the branch, or if we want to reset it. - If the ref name is the same as the branch name, do not attempt to create an orphan of it. */ - checkout.orphan = true; - } - try { - yield (0, execute_1.execute)(checkout.toString(), `${action.workspace}/${worktreedir}`, action.silent); - } - catch (error) { - (0, core_1.info)('Error encountered while checking out branch. Attempting to continue with a new branch name.'); - branchName = `temp-${Date.now()}`; - checkout = new GitCheckout(branchName, `origin/${action.branch}`); - yield (0, execute_1.execute)(checkout.toString(), `${action.workspace}/${worktreedir}`, action.silent); - } - if (!branchExists) { - (0, core_1.info)(`Created the ${branchName} branch… 🔧`); - // Our index is in HEAD state, reset - yield (0, execute_1.execute)('git reset --hard', `${action.workspace}/${worktreedir}`, action.silent); - if (!action.singleCommit) { - // New history isn't singleCommit, create empty initial commit - yield (0, execute_1.execute)(`git commit --no-verify --allow-empty -m "Initial ${branchName} commit"`, `${action.workspace}/${worktreedir}`, action.silent); - } - } - } - catch (error) { - throw new Error(`There was an error creating the worktree: ${(0, util_1.suppressSensitiveInformation)((0, util_1.extractErrorMessage)(error), action)} ❌`); - } - }); -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/package.json b/.github/actions/github-pages-deploy-action-4.6.3/package.json deleted file mode 100644 index add72a6b..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "@jamesives/github-pages-deploy-action", - "description": "GitHub action for building a project and deploying it to GitHub pages.", - "author": "James Ives (https://jamesiv.es)", - "version": "4.6.1", - "license": "MIT", - "main": "lib/lib.js", - "types": "lib/lib.d.ts", - "scripts": { - "build": "rimraf lib && tsc --declaration", - "test": "jest", - "lint": "eslint --fix .", - "lint:check": "eslint .", - "lint:format": "prettier --write .", - "lint:format:check": "prettier --check ." - }, - "repository": { - "type": "git", - "url": "git+https://github.com/JamesIves/github-pages-deploy-action.git" - }, - "bugs": { - "url": "https://github.com/JamesIves/github-pages-deploy-action/issues" - }, - "homepage": "https://github.com/JamesIves/github-pages-deploy-action", - "keywords": [ - "actions", - "node", - "setup", - "build", - "deploy", - "gh-pages", - "pages", - "github", - "deploy", - "deployment" - ], - "dependencies": { - "@actions/core": "1.10.1", - "@actions/exec": "1.1.1", - "@actions/github": "6.0.0", - "@actions/io": "1.1.3", - "@eslint/js": "^9.0.0", - "typescript-eslint": "^7.7.0" - }, - "devDependencies": { - "@types/jest": "29.5.12", - "@types/node": "20.14.9", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/parser": "7.15.0", - "eslint": "9.6.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-jest": "28.6.0", - "eslint-plugin-prettier": "5.1.3", - "jest": "29.7.0", - "jest-circus": "29.7.0", - "prettier": "3.3.2", - "rimraf": "5.0.7", - "ts-jest": "29.1.5", - "typescript": "5.5.3" - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/constants.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/constants.ts deleted file mode 100644 index 1d329846..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/constants.ts +++ /dev/null @@ -1,177 +0,0 @@ -import {getInput} from '@actions/core' -import * as github from '@actions/github' -import {isNullOrUndefined, stripProtocolFromUrl} from './util' - -const {pusher, repository} = github.context.payload - -/* Flags to signal different scenarios to test cases */ -export enum TestFlag { - NONE = 0, - HAS_CHANGED_FILES = 1 << 1, // Assume changes to commit. - HAS_REMOTE_BRANCH = 1 << 2, // Assume remote repository has existing commits. - UNABLE_TO_REMOVE_ORIGIN = 1 << 3, // Assume we can't remove origin. - UNABLE_TO_UNSET_GIT_CONFIG = 1 << 4, // Assume we can't remove previously set git configs. - HAS_REJECTED_COMMIT = 1 << 5 // Assume commit rejection. -} - -/* For more information please refer to the README: https://github.com/JamesIves/github-pages-deploy-action */ -export interface ActionInterface { - /** The branch that the action should deploy to. */ - branch: string - /** git push with --dry-run */ - dryRun?: boolean | null - /** If your project generates hashed files on build you can use this option to automatically delete them from the deployment branch with each deploy. This option can be toggled on by setting it to true. */ - clean?: boolean | null - /** If you need to use CLEAN but you'd like to preserve certain files or folders you can use this option. */ - cleanExclude?: string[] - /** If you need to customize the commit message for an integration you can do so. */ - commitMessage?: string - /** The hostname of which the GitHub Workflow is being run on, ie: github.com */ - hostname?: string - /** The git config email. */ - email?: string - /** The folder to deploy. */ - folder: string - /** The auto generated folder path. */ - folderPath?: string - /** Whether to force-push or attempt to merge existing changes. */ - force?: boolean - /** Determines test scenarios the action is running in. */ - isTest: TestFlag - /** The git config name. */ - name?: string - /** The repository path, for example JamesIves/github-pages-deploy-action. */ - repositoryName?: string - /** The fully qualified repository path, this gets auto generated if repositoryName is provided. */ - repositoryPath?: string - /** Wipes the commit history from the deployment branch in favor of a single commit. */ - singleCommit?: boolean | null - /** Determines if the action should run in silent mode or not. */ - silent: boolean - /** Defines an SSH private key that can be used during deployment. This can also be set to true to use SSH deployment endpoints if you've already configured the SSH client outside of this package. */ - sshKey?: string | boolean | null - /** If you'd like to push the contents of the deployment folder into a specific directory on the deployment branch you can specify it here. */ - targetFolder?: string - /** Deployment token. */ - token?: string | null - /** The token type, ie ssh/token, this gets automatically generated. */ - tokenType?: string - /** The folder where your deployment project lives. */ - workspace: string - /** GitHub tag name */ - tag?: string | null -} - -/** The minimum required values to run the action as a node module. */ -export interface NodeActionInterface { - /** The branch that the action should deploy to. */ - branch?: string - /** The folder to deploy. */ - folder: string - /** The repository path, for example JamesIves/github-pages-deploy-action. */ - repositoryName: string - /** GitHub deployment token. */ - token?: string | null - /** Determines if the action should run in silent mode or not. */ - silent: boolean - /** Defines an SSH private key that can be used during deployment. This can also be set to true to use SSH deployment endpoints if you've already configured the SSH client outside of this package. */ - sshKey?: string | boolean | null - /** The folder where your deployment project lives. */ - workspace: string - /** Determines test scenarios the action is running in. */ - isTest: TestFlag -} - -/* Required action data that gets initialized when running within the GitHub Actions environment. */ -export const action: ActionInterface = { - folder: getInput('folder'), - branch: getInput('branch'), - commitMessage: getInput('commit-message'), - dryRun: !isNullOrUndefined(getInput('dry-run')) - ? getInput('dry-run').toLowerCase() === 'true' - : false, - force: !isNullOrUndefined(getInput('force')) - ? getInput('force').toLowerCase() === 'true' - : true, - clean: !isNullOrUndefined(getInput('clean')) - ? getInput('clean').toLowerCase() === 'true' - : false, - cleanExclude: (getInput('clean-exclude') || '') - .split('\n') - .filter(l => l !== ''), - hostname: process.env.GITHUB_SERVER_URL - ? stripProtocolFromUrl(process.env.GITHUB_SERVER_URL) - : 'github.com', - isTest: TestFlag.NONE, - email: !isNullOrUndefined(getInput('git-config-email')) - ? getInput('git-config-email') - : pusher && pusher.email - ? pusher.email - : `${ - process.env.GITHUB_ACTOR || 'github-pages-deploy-action' - }@users.noreply.${ - process.env.GITHUB_SERVER_URL - ? stripProtocolFromUrl(process.env.GITHUB_SERVER_URL) - : 'github.com' - }`, - name: !isNullOrUndefined(getInput('git-config-name')) - ? getInput('git-config-name') - : pusher && pusher.name - ? pusher.name - : process.env.GITHUB_ACTOR - ? process.env.GITHUB_ACTOR - : 'GitHub Pages Deploy Action', - repositoryName: !isNullOrUndefined(getInput('repository-name')) - ? getInput('repository-name') - : repository && repository.full_name - ? repository.full_name - : process.env.GITHUB_REPOSITORY, - token: getInput('token'), - singleCommit: !isNullOrUndefined(getInput('single-commit')) - ? getInput('single-commit').toLowerCase() === 'true' - : false, - silent: !isNullOrUndefined(getInput('silent')) - ? getInput('silent').toLowerCase() === 'true' - : false, - sshKey: isNullOrUndefined(getInput('ssh-key')) - ? false - : !isNullOrUndefined(getInput('ssh-key')) && - getInput('ssh-key').toLowerCase() === 'true' - ? true - : getInput('ssh-key'), - targetFolder: getInput('target-folder'), - workspace: process.env.GITHUB_WORKSPACE || '', - tag: getInput('tag') -} - -/** Types for the required action parameters. */ -export type RequiredActionParameters = Pick< - ActionInterface, - 'token' | 'sshKey' | 'branch' | 'folder' | 'isTest' -> - -/** Status codes for the action. */ -export enum Status { - SUCCESS = 'success', - FAILED = 'failed', - SKIPPED = 'skipped', - RUNNING = 'running' -} - -/* Platform codes. */ -export enum OperatingSystems { - LINUX = 'Linux', - WINDOWS = 'Windows', - MACOS = 'macOS' -} - -export const SupportedOperatingSystems = [OperatingSystems.LINUX] - -/* Excluded files. */ -export enum DefaultExcludedFiles { - CNAME = 'CNAME', - NOJEKYLL = '.nojekyll', - SSH = '.ssh', - GIT = '.git', - GITHUB = '.github' -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/execute.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/execute.ts deleted file mode 100644 index db560fe9..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/execute.ts +++ /dev/null @@ -1,58 +0,0 @@ -import {exec} from '@actions/exec' -import buffer from 'buffer' - -type ExecuteOutput = { - stdout: string - stderr: string -} - -const output: ExecuteOutput = {stdout: '', stderr: ''} - -/** Wrapper around the GitHub toolkit exec command which returns the output. - * Also allows you to easily toggle the current working directory. - * - * @param {string} cmd - The command to execute. - * @param {string} cwd - The current working directory. - * @param {boolean} silent - Determines if the in/out should be silenced or not. - * @param {boolean} ignoreReturnCode - Determines whether to throw an error - * on a non-zero exit status or to leave implementation up to the caller. - */ -export async function execute( - cmd: string, - cwd: string, - silent: boolean, - ignoreReturnCode = false -): Promise { - output.stdout = '' - output.stderr = '' - - await exec(cmd, [], { - // Silences the input unless the INPUT_DEBUG flag is set. - silent, - cwd, - listeners: {stdout, stderr}, - ignoreReturnCode - }) - - return Promise.resolve(output) -} - -export function stdout(data: Buffer | string): void { - const dataString = data.toString().trim() - if ( - output.stdout.length + dataString.length < - buffer.constants.MAX_STRING_LENGTH - ) { - output.stdout += dataString - } -} - -export function stderr(data: Buffer | string): void { - const dataString = data.toString().trim() - if ( - output.stderr.length + dataString.length < - buffer.constants.MAX_STRING_LENGTH - ) { - output.stderr += dataString - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/git.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/git.ts deleted file mode 100644 index afa87f72..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/git.ts +++ /dev/null @@ -1,379 +0,0 @@ -import {info} from '@actions/core' -import {mkdirP, rmRF} from '@actions/io' -import fs from 'fs' -import { - ActionInterface, - DefaultExcludedFiles, - Status, - TestFlag -} from './constants' -import {execute} from './execute' -import {generateWorktree} from './worktree' -import { - extractErrorMessage, - isNullOrUndefined, - suppressSensitiveInformation -} from './util' - -/** - * Initializes git in the workspace. - */ -export async function init(action: ActionInterface): Promise { - try { - info(`Deploying using ${action.tokenType}… 🔑`) - info('Configuring git…') - - try { - await execute( - `git config --global --add safe.directory "${action.workspace}"`, - action.workspace, - action.silent - ) - } catch { - info('Unable to set workspace as a safe directory…') - } - - await execute( - `git config user.name "${action.name}"`, - action.workspace, - action.silent - ) - - await execute( - `git config user.email "${action.email}"`, - action.workspace, - action.silent - ) - - await execute( - `git config core.ignorecase false`, - action.workspace, - action.silent - ) - - try { - if ((process.env.CI && !action.sshKey) || action.isTest) { - /* Ensures that previously set Git configs do not interfere with the deployment. - Only runs in the GitHub Actions CI environment if a user is not using an SSH key. - */ - await execute( - `git config --local --unset-all http.https://${action.hostname}/.extraheader`, - action.workspace, - action.silent - ) - } - - if (action.isTest === TestFlag.UNABLE_TO_UNSET_GIT_CONFIG) { - throw new Error() - } - } catch { - info( - 'Unable to unset previous git config authentication as it may not exist, continuing…' - ) - } - - try { - await execute(`git remote rm origin`, action.workspace, action.silent) - - if (action.isTest === TestFlag.UNABLE_TO_REMOVE_ORIGIN) { - throw new Error() - } - } catch { - info('Attempted to remove origin but failed, continuing…') - } - - await execute( - `git remote add origin ${action.repositoryPath}`, - action.workspace, - action.silent - ) - info('Git configured… 🔧') - } catch (error) { - throw new Error( - `There was an error initializing the repository: ${suppressSensitiveInformation( - extractErrorMessage(error), - action - )} ❌` - ) - } -} - -/** - * Runs the necessary steps to make the deployment. - */ -export async function deploy(action: ActionInterface): Promise { - const temporaryDeploymentDirectory = - 'github-pages-deploy-action-temp-deployment-folder' - const temporaryDeploymentBranch = `github-pages-deploy-action/${Math.random() - .toString(36) - .substr(2, 9)}` - - info('Starting to commit changes…') - - try { - const commitMessage = !isNullOrUndefined(action.commitMessage) - ? (action.commitMessage as string) - : `Deploying to ${action.branch}${ - process.env.GITHUB_SHA - ? ` from @ ${process.env.GITHUB_REPOSITORY}@${process.env.GITHUB_SHA}` - : '' - } 🚀` - - // Checks to see if the remote exists prior to deploying. - const branchExists = - action.isTest & TestFlag.HAS_REMOTE_BRANCH || - Boolean( - ( - await execute( - `git ls-remote --heads ${action.repositoryPath} refs/heads/${action.branch}`, - action.workspace, - action.silent - ) - ).stdout - ) - - await generateWorktree(action, temporaryDeploymentDirectory, branchExists) - - /* Relaxes permissions of folder due to be deployed so rsync can write to/from it. */ - try { - await execute( - `chmod -R +rw ${action.folderPath}`, - action.workspace, - action.silent - ) - } catch { - info(`Unable to modify permissions…`) - } - - // Ensures that items that need to be excluded from the clean job get parsed. - let excludes = '' - if (action.clean && action.cleanExclude) { - for (const item of action.cleanExclude) { - excludes += `--exclude ${item} ` - } - } - - if (action.targetFolder) { - info(`Creating target folder if it doesn't already exist… 📌`) - await mkdirP(`${temporaryDeploymentDirectory}/${action.targetFolder}`) - } - - /* - Pushes all of the build files into the deployment directory. - Allows the user to specify the root if '.' is provided. - rsync is used to prevent file duplication. */ - await execute( - `rsync -q -av --checksum --progress ${action.folderPath}/. ${ - action.targetFolder - ? `${temporaryDeploymentDirectory}/${action.targetFolder}` - : temporaryDeploymentDirectory - } ${ - action.clean - ? `--delete ${excludes} ${ - !fs.existsSync( - `${action.folderPath}/${DefaultExcludedFiles.CNAME}` - ) - ? `--exclude ${DefaultExcludedFiles.CNAME}` - : '' - } ${ - !fs.existsSync( - `${action.folderPath}/${DefaultExcludedFiles.NOJEKYLL}` - ) - ? `--exclude ${DefaultExcludedFiles.NOJEKYLL}` - : '' - }` - : '' - } --exclude ${DefaultExcludedFiles.SSH} --exclude ${ - DefaultExcludedFiles.GIT - } --exclude ${DefaultExcludedFiles.GITHUB} ${ - action.folderPath === action.workspace - ? `--exclude ${temporaryDeploymentDirectory}` - : '' - }`, - action.workspace, - action.silent - ) - - if (action.singleCommit) { - await execute( - `git add --all .`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - } - - // Use git status to check if we have something to commit. - // Special case is singleCommit with existing history, when - // we're really interested if the diff against the upstream branch - // changed. - const checkGitStatus = - branchExists && action.singleCommit - ? `git diff origin/${action.branch}` - : `git status --porcelain` - - info(`Checking if there are files to commit…`) - - const hasFilesToCommit = - action.isTest & TestFlag.HAS_CHANGED_FILES || - Boolean( - ( - await execute( - checkGitStatus, - `${action.workspace}/${temporaryDeploymentDirectory}`, - true // This output is always silenced due to the large output it creates. - ) - ).stdout - ) - - if ( - (!action.singleCommit && !hasFilesToCommit) || - // Ignores the case where single commit is true with a target folder to prevent incorrect early exiting. - (action.singleCommit && !action.targetFolder && !hasFilesToCommit) - ) { - return Status.SKIPPED - } - - // Commits to GitHub. - await execute( - `git add --all .`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - await execute( - `git checkout -b ${temporaryDeploymentBranch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - await execute( - `git commit -m "${commitMessage}" --quiet --no-verify`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - - if (action.dryRun) { - info(`Dry run complete`) - return Status.SUCCESS - } - - if (action.force) { - // Force-push our changes, overwriting any changes that were added in - // the meantime - info(`Force-pushing changes...`) - await execute( - `git push --force ${action.repositoryPath} ${temporaryDeploymentBranch}:${action.branch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - } else { - const ATTEMPT_LIMIT = 3 - // Attempt to push our changes, but fetch + rebase if there were - // other changes added in the meantime - let attempt = 0 - - // Keep track of whether the most recent attempt was rejected - let rejected = false - - do { - attempt++ - - if (attempt > ATTEMPT_LIMIT) throw new Error(`Attempt limit exceeded`) - - // Handle rejection for the previous attempt first such that, on - // the final attempt, time is not wasted rebasing it when it will - // not be pushed - if (rejected) { - info(`Fetching upstream ${action.branch}…`) - await execute( - `git fetch ${action.repositoryPath} ${action.branch}:${action.branch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - info(`Rebasing this deployment onto ${action.branch}…`) - await execute( - `git rebase ${action.branch} ${temporaryDeploymentBranch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - } - - info(`Pushing changes… (attempt ${attempt} of ${ATTEMPT_LIMIT})`) - - const pushResult = await execute( - `git push --porcelain ${action.repositoryPath} ${temporaryDeploymentBranch}:${action.branch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent, - true // Ignore non-zero exit status - ) - - rejected = - Boolean(action.isTest) || - pushResult.stdout.includes(`[rejected]`) || - pushResult.stdout.includes(`[remote rejected]`) - - if (rejected) info('Updates were rejected') - - // If the push failed for any fatal reason other than being rejected, - // there is a problem - if ( - !rejected && - pushResult.stderr.split(/\n/).some(s => s.trim().startsWith('fatal:')) - ) { - throw new Error(pushResult.stderr) - } - } while (rejected) - } - - info(`Changes committed to the ${action.branch} branch… 📦`) - - if (action.tag) { - info(`Adding '${action.tag}' tag to the commit…`) - await execute( - `git tag ${action.tag}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - info(`Pushing '${action.tag}' tag to repository…`) - await execute( - `git push origin ${action.tag}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - - info( - `Tag '${action.tag}' created and pushed to the ${action.branch} branch… 🏷️` - ) - } - - return Status.SUCCESS - } catch (error) { - throw new Error( - `The deploy step encountered an error: ${suppressSensitiveInformation( - extractErrorMessage(error), - action - )} ❌` - ) - } finally { - // Cleans up temporary files/folders and restores the git state. - info('Running post deployment cleanup jobs… 🗑️') - - await execute( - `git checkout -B ${temporaryDeploymentBranch}`, - `${action.workspace}/${temporaryDeploymentDirectory}`, - action.silent - ) - - await execute( - `chmod -R +rw ${temporaryDeploymentDirectory}`, - action.workspace, - action.silent - ) - - await execute( - `git worktree remove ${temporaryDeploymentDirectory} --force`, - action.workspace, - action.silent - ) - - await rmRF(temporaryDeploymentDirectory) - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/lib.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/lib.ts deleted file mode 100644 index 1a6ea0da..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/lib.ts +++ /dev/null @@ -1,92 +0,0 @@ -import {exportVariable, info, notice, setFailed, setOutput} from '@actions/core' -import {ActionInterface, NodeActionInterface, Status} from './constants' -import {deploy, init} from './git' -import {configureSSH} from './ssh' -import { - checkParameters, - extractErrorMessage, - generateFolderPath, - generateRepositoryPath, - generateTokenType, - isNullOrUndefined -} from './util' - -/** Initializes and runs the action. - * - * @param {object} configuration - The action configuration. - */ -export default async function run( - configuration: ActionInterface | NodeActionInterface -): Promise { - let status: Status = Status.RUNNING - - try { - info(` - ╭━━━╮╭╮╭╮╱╭╮╱╱╭╮╱╱╭━━━╮ - ┃╭━╮┣╯╰┫┃╱┃┃╱╱┃┃╱╱┃╭━╮┃ - ┃┃╱╰╋╮╭┫╰━╯┣╮╭┫╰━╮┃╰━╯┣━━┳━━┳━━┳━━╮ - ┃┃╭━╋┫┃┃╭━╮┃┃┃┃╭╮┃┃╭━━┫╭╮┃╭╮┃┃━┫━━┫ - ┃╰┻━┃┃╰┫┃╱┃┃╰╯┃╰╯┃┃┃╱╱┃╭╮┃╰╯┃┃━╋━━┃ - ╰━━━┻┻━┻╯╱╰┻━━┻━━╯╰╯╱╱╰╯╰┻━╮┣━━┻━━╯ - ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━╯┃ - ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰━━╯ - ╭━━━╮╱╱╱╱╱╭╮╱╱╱╱╱╱╱╱╭━━━╮╱╱╭╮ - ╰╮╭╮┃╱╱╱╱╱┃┃╱╱╱╱╱╱╱╱┃╭━╮┃╱╭╯╰╮ - ╱┃┃┃┣━━┳━━┫┃╭━━┳╮╱╭╮┃┃╱┃┣━┻╮╭╋┳━━┳━╮ - ╱┃┃┃┃┃━┫╭╮┃┃┃╭╮┃┃╱┃┃┃╰━╯┃╭━┫┃┣┫╭╮┃╭╮╮ - ╭╯╰╯┃┃━┫╰╯┃╰┫╰╯┃╰━╯┃┃╭━╮┃╰━┫╰┫┃╰╯┃┃┃┃ - ╰━━━┻━━┫╭━┻━┻━━┻━╮╭╯╰╯╱╰┻━━┻━┻┻━━┻╯╰╯ - ╱╱╱╱╱╱╱┃┃╱╱╱╱╱╱╭━╯┃ - ╱╱╱╱╱╱╱╰╯╱╱╱╱╱╱╰━━╯ - `) - - info(` - 💖 Support: https://github.com/sponsors/JamesIves - 📣 Maintained by James Ives: https://jamesiv.es - - 🚀 Getting Started Guide: https://github.com/JamesIves/github-pages-deploy-action - ❓ Discussions / Q&A: https://github.com/JamesIves/github-pages-deploy-action/discussions - 🔧 Report a Bug: https://github.com/JamesIves/github-pages-deploy-action/issues`) - - info('Checking configuration and starting deployment… 🚦') - - const settings: ActionInterface = { - ...configuration, - // Set the default branch for Node configurations - branch: !isNullOrUndefined(configuration.branch) - ? configuration.branch - : 'gh-pages' - } - - // Defines the repository/folder paths and token types. - // Also verifies that the action has all of the required parameters. - settings.folderPath = generateFolderPath(settings) - - checkParameters(settings) - - settings.repositoryPath = generateRepositoryPath(settings) - settings.tokenType = generateTokenType(settings) - - if (settings.sshKey) { - await configureSSH(settings) - } - - await init(settings) - status = await deploy(settings) - } catch (error) { - status = Status.FAILED - - setFailed(extractErrorMessage(error)) - } finally { - if (status === Status.FAILED) { - notice('Deployment failed! ❌') - } else if (status === Status.SUCCESS) { - info('Completed deployment successfully! ✅') - } else { - info('There is nothing to commit. Exiting early… 📭') - } - - exportVariable('deployment_status', status) - setOutput('deployment-status', status) - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/main.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/main.ts deleted file mode 100644 index c641819d..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {action} from './constants' -import run from './lib' - -// Runs the action within the GitHub actions environment. -run(action) diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/ssh.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/ssh.ts deleted file mode 100644 index fb56754f..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/ssh.ts +++ /dev/null @@ -1,57 +0,0 @@ -import {exportVariable, info} from '@actions/core' -import {mkdirP} from '@actions/io' -import {execFileSync, execSync} from 'child_process' -import {appendFileSync} from 'fs' -import {ActionInterface} from './constants' -import {extractErrorMessage, suppressSensitiveInformation} from './util' - -/** - * Configures SSH for the workflow. - */ -export async function configureSSH(action: ActionInterface): Promise { - try { - if (typeof action.sshKey === 'string') { - const sshDirectory = `${process.env['HOME']}/.ssh` - const sshKnownHostsDirectory = `${sshDirectory}/known_hosts` - - // SSH fingerprints provided by GitHub: https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/githubs-ssh-key-fingerprints - const sshGitHubKnownHostRsa = `\n${action.hostname} ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==\n` - const sshGitHubKnownHostDss = `\n${action.hostname} ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==\n` - - info(`Configuring SSH client… 🔑`) - - await mkdirP(sshDirectory) - - appendFileSync(sshKnownHostsDirectory, sshGitHubKnownHostRsa) - appendFileSync(sshKnownHostsDirectory, sshGitHubKnownHostDss) - - // Initializes SSH agent. - const agentOutput = execFileSync('ssh-agent').toString().split('\n') - - agentOutput.map(line => { - const exportableVariables = - /^(SSH_AUTH_SOCK|SSH_AGENT_PID)=(.*); export \1/.exec(line) - - if (exportableVariables && exportableVariables.length) { - exportVariable(exportableVariables[1], exportableVariables[2]) - } - }) - - // Adds the SSH key to the agent. - action.sshKey.split(/(?=-----BEGIN)/).map(async line => { - execSync('ssh-add -', {input: `${line.trim()}\n`}) - }) - - execSync('ssh-add -l') - } else { - info(`Skipping SSH client configuration… ⌚`) - } - } catch (error) { - throw new Error( - `The ssh client configuration encountered an error: ${suppressSensitiveInformation( - extractErrorMessage(error), - action - )} ❌` - ) - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/util.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/util.ts deleted file mode 100644 index 7ed60760..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/util.ts +++ /dev/null @@ -1,142 +0,0 @@ -import {isDebug, warning} from '@actions/core' -import {existsSync} from 'fs' -import path from 'path' -import { - ActionInterface, - OperatingSystems, - RequiredActionParameters, - SupportedOperatingSystems -} from './constants' - -/** - * Replaces all instances of a match in a string. - */ -const replaceAll = (input: string, find: string, replace: string): string => - input.split(find).join(replace) - -/** - * Utility function that checks to see if a value is undefined or not. - * If allowEmptyString is passed the parameter is allowed to contain an empty string as a valid parameter. - */ -export const isNullOrUndefined = ( - value: unknown -): value is undefined | null | '' => - typeof value === 'undefined' || value === null || value === '' - -/** - * Generates a token type used for the action. - */ -export const generateTokenType = (action: ActionInterface): string => - action.sshKey ? 'SSH Deploy Key' : action.token ? 'Deploy Token' : '…' - -/** - * Generates a the repository path used to make the commits. - */ -export const generateRepositoryPath = (action: ActionInterface): string => - action.sshKey - ? `git@${action.hostname}:${action.repositoryName}` - : `https://${`x-access-token:${action.token}`}@${action.hostname}/${ - action.repositoryName - }.git` - -/** - * Generate absolute folder path by the provided folder name - */ -export const generateFolderPath = (action: ActionInterface): string => { - const folderName = action['folder'] - return path.isAbsolute(folderName) - ? folderName - : folderName.startsWith('~') - ? folderName.replace('~', process.env.HOME as string) - : path.join(action.workspace, folderName) -} - -/** - * Checks for the required tokens and formatting. Throws an error if any case is matched. - */ -const hasRequiredParameters = ( - action: ActionInterface, - params: K[] -): boolean => { - const nonNullParams = params.filter( - param => !isNullOrUndefined(action[param]) - ) - - return Boolean(nonNullParams.length) -} - -/** - * Verifies the action has the required parameters to run, otherwise throw an error. - */ -export const checkParameters = (action: ActionInterface): void => { - if (!hasRequiredParameters(action, ['token', 'sshKey'])) { - throw new Error( - 'No deployment token/method was provided. You must provide the action with either a Personal Access Token or the GitHub Token secret in order to deploy. For more details on how to use an ssh deploy key please refer to the documentation.' - ) - } - - if (!hasRequiredParameters(action, ['branch'])) { - throw new Error('Branch is required.') - } - - if (!hasRequiredParameters(action, ['folder'])) { - throw new Error('You must provide the action with a folder to deploy.') - } - - if (!existsSync(action.folderPath as string)) { - throw new Error( - `The directory you're trying to deploy named ${action.folderPath} doesn't exist. Please double check the path and any prerequisite build scripts and try again. ❗` - ) - } - - if ( - !SupportedOperatingSystems.includes( - process.env.RUNNER_OS as OperatingSystems - ) - ) { - warning( - `The operating system you're using is not supported and results may be varied. Please refer to the documentation for more details. ❗` - ) - } -} - -/** - * Suppresses sensitive information from being exposed in error messages. - */ -export const suppressSensitiveInformation = ( - str: string, - action: ActionInterface -): string => { - let value = str - - if (isDebug()) { - // Data is unmasked in debug mode. - return value - } - - const orderedByLength = ( - [action.token, action.repositoryPath].filter(Boolean) as string[] - ).sort((a, b) => b.length - a.length) - - for (const find of orderedByLength) { - value = replaceAll(value, find, '***') - } - - return value -} - -/** - * Extracts message from an error object. - */ -export const extractErrorMessage = (error: unknown): string => - error instanceof Error - ? error.message - : typeof error == 'string' - ? error - : JSON.stringify(error) - -/** - * Strips the protocol from a provided URL. - */ -export const stripProtocolFromUrl = (url: string): string => - url.replace(/^(?:https?:\/\/)?(?:www\.)?/i, '').split('/')[0] diff --git a/.github/actions/github-pages-deploy-action-4.6.3/src/worktree.ts b/.github/actions/github-pages-deploy-action-4.6.3/src/worktree.ts deleted file mode 100644 index 5b337bcc..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/src/worktree.ts +++ /dev/null @@ -1,140 +0,0 @@ -import {info} from '@actions/core' -import {ActionInterface} from './constants' -import {execute} from './execute' -import {extractErrorMessage, suppressSensitiveInformation} from './util' - -/** - * Git checkout command. - */ -export class GitCheckout { - /** - * @param orphan - Bool indicating if the branch is an orphan. - */ - orphan = false - - /** - * @param commitish - The commitish to check out. - */ - commitish?: string | null = null - - /** - * @param branch - The branch name. - */ - branch: string - - /** - * @param branch - The branch name. - * @param commitish - The commitish to check out. - */ - constructor(branch: string, commitish?: string) { - this.branch = branch - this.commitish = commitish || null - } - - /** - * Returns the string representation of the git checkout command. - */ - toString(): string { - return [ - 'git', - 'checkout', - this.orphan ? '--orphan' : '-B', - this.branch, - this.commitish || '' - ].join(' ') - } -} - -/** - * Generates a git worktree. - * @param action - The action interface. - * @param worktreedir - The worktree directory. - * @param branchExists - Bool indicating if the branch exists. - */ -export async function generateWorktree( - action: ActionInterface, - worktreedir: string, - branchExists: boolean | number -): Promise { - try { - info('Creating worktree…') - - if (branchExists) { - await execute( - `git fetch --no-recurse-submodules --depth=1 origin ${action.branch}`, - action.workspace, - action.silent - ) - } - - await execute( - `git worktree add --no-checkout --detach ${worktreedir}`, - action.workspace, - action.silent - ) - - let branchName = action.branch - let checkout = new GitCheckout(branchName) - - if (branchExists) { - // There's existing data on the branch to check out - checkout.commitish = `origin/${action.branch}` - } - - if ( - !branchExists || - (action.singleCommit && action.branch !== process.env.GITHUB_REF_NAME) - ) { - /* Create a new history if we don't have the branch, or if we want to reset it. - If the ref name is the same as the branch name, do not attempt to create an orphan of it. */ - checkout.orphan = true - } - - try { - await execute( - checkout.toString(), - `${action.workspace}/${worktreedir}`, - action.silent - ) - } catch (error) { - info( - 'Error encountered while checking out branch. Attempting to continue with a new branch name.' - ) - branchName = `temp-${Date.now()}` - checkout = new GitCheckout(branchName, `origin/${action.branch}`) - - await execute( - checkout.toString(), - `${action.workspace}/${worktreedir}`, - action.silent - ) - } - - if (!branchExists) { - info(`Created the ${branchName} branch… 🔧`) - - // Our index is in HEAD state, reset - await execute( - 'git reset --hard', - `${action.workspace}/${worktreedir}`, - action.silent - ) - - if (!action.singleCommit) { - // New history isn't singleCommit, create empty initial commit - await execute( - `git commit --no-verify --allow-empty -m "Initial ${branchName} commit"`, - `${action.workspace}/${worktreedir}`, - action.silent - ) - } - } - } catch (error) { - throw new Error( - `There was an error creating the worktree: ${suppressSensitiveInformation( - extractErrorMessage(error), - action - )} ❌` - ) - } -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.json b/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.json deleted file mode 100644 index ae79bf2b..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "outDir": "./lib", - "rootDir": "./src", - "strict": true, - "noImplicitAny": false, - "esModuleInterop": true - }, - "exclude": ["node_modules", "**/*.test.ts"] -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.lint.json b/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.lint.json deleted file mode 100644 index d76f64cf..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/tsconfig.lint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "rootDir": "." - }, - "exclude": ["node_modules"] -} diff --git a/.github/actions/github-pages-deploy-action-4.6.3/yarn.lock b/.github/actions/github-pages-deploy-action-4.6.3/yarn.lock deleted file mode 100644 index 809fc751..00000000 --- a/.github/actions/github-pages-deploy-action-4.6.3/yarn.lock +++ /dev/null @@ -1,3381 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@actions/core@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.1.tgz#61108e7ac40acae95ee36da074fa5850ca4ced8a" - integrity sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g== - dependencies: - "@actions/http-client" "^2.0.1" - uuid "^8.3.2" - -"@actions/exec@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" - integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== - dependencies: - "@actions/io" "^1.0.1" - -"@actions/github@6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-6.0.0.tgz#65883433f9d81521b782a64cc1fd45eef2191ea7" - integrity sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g== - dependencies: - "@actions/http-client" "^2.2.0" - "@octokit/core" "^5.0.1" - "@octokit/plugin-paginate-rest" "^9.0.0" - "@octokit/plugin-rest-endpoint-methods" "^10.0.0" - -"@actions/http-client@^2.0.1", "@actions/http-client@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.1.tgz#ed3fe7a5a6d317ac1d39886b0bb999ded229bb38" - integrity sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw== - dependencies: - tunnel "^0.0.6" - undici "^5.25.4" - -"@actions/io@1.1.3", "@actions/io@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.3.tgz#4cdb6254da7962b07473ff5c335f3da485d94d71" - integrity sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - -"@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.11.6", "@babel/core@^7.23.9": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.12.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb" - integrity sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg== - dependencies: - "@babel/types" "^7.16.7" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/generator@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" - dependencies: - "@babel/types" "^7.7.2" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.22.15": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - -"@babel/helper-plugin-utils@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - -"@babel/helper-plugin-utils@^7.12.13": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" - integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== - -"@babel/helper-plugin-utils@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== - -"@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-identifier@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" - integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - -"@babel/highlight@^7.12.13": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" - integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.0" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" - integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.2.tgz#ea8334dc77416bfd9473eb470fd00d8245b3943b" - -"@babel/parser@^7.14.7", "@babel/parser@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" - integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== - -"@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/parser@^7.8.6": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" - integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/template@^7.3.3": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.16.7": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@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.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159" - integrity sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.20.7", "@babel/types@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.3.3", "@babel/types@^7.8.6": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" - dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/config-array@^0.17.0": - version "0.17.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.17.0.tgz#ff305e1ee618a00e6e5d0485454c8d92d94a860d" - integrity sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA== - dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.6.0", "@eslint/js@^9.0.0": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.6.0.tgz#5b0cb058cc13d9c92d4e561d3538807fa5127c95" - integrity sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A== - -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== - -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - -"@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" - integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== - -"@octokit/core@^5.0.1": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" - integrity sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg== - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.1.0" - "@octokit/request" "^8.3.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^9.0.1": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" - integrity sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw== - dependencies: - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" - integrity sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ== - dependencies: - "@octokit/request" "^8.3.0" - "@octokit/types" "^13.0.0" - universal-user-agent "^6.0.0" - -"@octokit/openapi-types@^20.0.0": - version "20.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" - integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== - -"@octokit/openapi-types@^22.1.0": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.1.0.tgz#6aa72f35fb29318064e4ab60972f40429857eb2e" - integrity sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q== - -"@octokit/plugin-paginate-rest@^9.0.0": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz#2e2a2f0f52c9a4b1da1a3aa17dabe3c459b9e401" - integrity sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw== - dependencies: - "@octokit/types" "^12.6.0" - -"@octokit/plugin-rest-endpoint-methods@^10.0.0": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" - integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== - dependencies: - "@octokit/types" "^12.6.0" - -"@octokit/request-error@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" - integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== - dependencies: - "@octokit/types" "^13.1.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" - integrity sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw== - dependencies: - "@octokit/endpoint" "^9.0.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/types@^12.6.0": - version "12.6.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" - integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== - dependencies: - "@octokit/openapi-types" "^20.0.0" - -"@octokit/types@^13.0.0", "@octokit/types@^13.1.0": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.4.1.tgz#ad3574488cce6792e5d981a1bdf4b694e1ca349f" - integrity sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg== - dependencies: - "@octokit/openapi-types" "^22.1.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03" - dependencies: - "@babel/types" "^7.3.0" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@29.5.12": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/node@*", "@types/node@20.14.9": - version "20.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== - dependencies: - undici-types "~5.26.4" - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - -"@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" - integrity sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/type-utils" "7.15.0" - "@typescript-eslint/utils" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.15.0.tgz#f4a536e5fc6a1c05c82c4d263a2bfad2da235c80" - integrity sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A== - dependencies: - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/typescript-estree" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#201b34b0720be8b1447df17b963941bf044999b2" - integrity sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw== - dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - -"@typescript-eslint/type-utils@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz#5b83c904c6de91802fb399305a50a56d10472c39" - integrity sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg== - dependencies: - "@typescript-eslint/typescript-estree" "7.15.0" - "@typescript-eslint/utils" "7.15.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.15.0.tgz#fb894373a6e3882cbb37671ffddce44f934f62fc" - integrity sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw== - -"@typescript-eslint/typescript-estree@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#e323bfa3966e1485b638ce751f219fc1f31eba37" - integrity sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ== - dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@7.15.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.15.0.tgz#9e6253c4599b6e7da2fb64ba3f549c73eb8c1960" - integrity sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/typescript-estree" "7.15.0" - -"@typescript-eslint/visitor-keys@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#1da0726201a859343fe6a05742a7c1792fff5b66" - integrity sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw== - dependencies: - "@typescript-eslint/types" "7.15.0" - eslint-visitor-keys "^3.4.3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" - integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== - -ajv@^6.12.4: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" - dependencies: - type-fest "^0.8.1" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77" - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -before-after-hook@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" - integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.17.5: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - dependencies: - fast-json-stable-stringify "2.x" - -bser@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001286: - version "1.0.30001296" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz#d99f0f3bee66544800b93d261c4be55a35f1cec8" - integrity sha512-WfrtPEoNSoeATDlf4y3QvkwiELl9GyPLISV5GejTbbQRtQx4LhsXmc9IQ6XCL2d7UxCyEzToEZNMeqR79OUw8Q== - -caniuse-lite@^1.0.30001587: - version "1.0.30001610" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz#2f44ed6e21d359e914271ae35b68903632628ccf" - integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA== - -chalk@^2.0.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - -ci-info@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -cjs-module-lexer@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73" - integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -collect-v8-coverage@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - -deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - -deprecation@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - dependencies: - path-type "^4.0.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.4.17: - version "1.4.35" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.35.tgz#69aabb73d7030733e71c1e970ec16f5ceefbaea4" - integrity sha512-wzTOMh6HGFWeALMI3bif0mzgRrVGyP1BdFRx7IvWukFrSC5QVQELENuy+Fm2dCrAdQH9T3nuqr07n94nPDFBWA== - -electron-to-chromium@^1.4.668: - version "1.4.738" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz#9a7fca98abaee61e20c9c25013d5ce60bb533436" - integrity sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - dependencies: - is-arrayish "^0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-plugin-jest@28.6.0: - version "28.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz#8410588d60bcafa68a91b6ec272e4a415502302a" - integrity sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg== - dependencies: - "@typescript-eslint/utils" "^6.0.0 || ^7.0.0" - -eslint-plugin-prettier@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.6.0.tgz#9f54373afa15e1ba356656a8d96233182027fb49" - integrity sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/config-array" "^0.17.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.6.0" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" - eslint-visitor-keys "^4.0.0" - espree "^10.1.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^10.0.1, espree@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== - dependencies: - acorn "^8.12.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - -esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - dependencies: - bser "^2.0.0" - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^10.3.7: - version "10.3.12" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" - integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.6" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.10.2" - -glob@^7.1.3, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - dependencies: - function-bind "^1.1.1" - -html-escaper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - -istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== - 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" - -istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@29.7.0, jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - -json5@^2.1.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.13: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - -lru-cache@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - dependencies: - yallist "^4.0.0" - -make-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - -minimatch@^3.0.4, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.1, minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - dependencies: - path-key "^3.0.0" - -once@^1.3.0, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -p-limit@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pirates@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" - integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - dependencies: - find-up "^4.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - -rimraf@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.7.tgz#27bddf202e7d89cb2e0381656380d1734a854a74" - integrity sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg== - dependencies: - glob "^10.3.7" - -run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - -signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -stack-utils@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - dependencies: - is-number "^7.0.0" - -ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-jest@29.1.5: - version "29.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.5.tgz#d6c0471cc78bffa2cb4664a0a6741ef36cfe8f69" - integrity sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tunnel@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - -typescript-eslint@^7.7.0: - version "7.15.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.15.0.tgz#44caca31461cc8afa829c4e5ab11aa9e0f7e175d" - integrity sha512-Ta40FhMXBCwHura4X4fncaCVkVcnJ9jnOq5+Lp4lN8F4DzHZtOwZdRvVBiNUGznUDHPwdGnrnwxmUOU2fFQqFA== - dependencies: - "@typescript-eslint/eslint-plugin" "7.15.0" - "@typescript-eslint/parser" "7.15.0" - "@typescript-eslint/utils" "7.15.0" - -typescript@5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici@^5.25.4: - version "5.28.4" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" - integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== - dependencies: - "@fastify/busboy" "^2.0.0" - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - dependencies: - punycode "^2.1.0" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - dependencies: - isexe "^2.0.0" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - -yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/.github/actions/setup-install/action.yml b/.github/actions/setup-install/action.yml deleted file mode 100644 index 07456d01..00000000 --- a/.github/actions/setup-install/action.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Setup and Install -description: Setup nodejs and install npm packages -runs: - using: 'composite' - steps: - - name: Setup Node.js and Cache - uses: actions/setup-node@v4 - with: - node-version: 20 - registry-url: https://registry.npmjs.org/ - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - - - name: install packages - shell: bash - run: npm install \ No newline at end of file diff --git a/.github/workflows/check-tests.yml b/.github/workflows/check-tests.yml index 98b54940..84c66b55 100644 --- a/.github/workflows/check-tests.yml +++ b/.github/workflows/check-tests.yml @@ -18,8 +18,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: Check Linter and Build 📑 run: | npm run build @@ -29,8 +29,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: Unit Testing 🧪 working-directory: './packages/millicast-sdk' run: npm run test-unit @@ -39,8 +39,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: End-2-End Testing working-directory: './packages/millicast-sdk' run: npm run test-e2e diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..d67a695f --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,73 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: 'CodeQL' + +on: + push: + branches: ['main', 'develop'] + pull_request: + # The branches below must be a subset of the branches above + branches: ['main'] + #schedule: + # - cron: '34 2 * * 3' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ['javascript'] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: '/language:${{matrix.language}}' diff --git a/.github/workflows/new-release.yml b/.github/workflows/new-release.yml index 2be54f7e..d08119f1 100644 --- a/.github/workflows/new-release.yml +++ b/.github/workflows/new-release.yml @@ -11,10 +11,23 @@ jobs: build: if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'rc') runs-on: ubuntu-latest + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + contents: read + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + + - name: Install the dependencies 🧱 + run: npm ci - name: Build All 🔧 run: | @@ -27,15 +40,17 @@ jobs: ACCOUNT_ID: ${{vars.PUBLISHER_DEMO_ACC_ID}} PUBLISH_TOKEN: ${{secrets.PUBLISHER_DEMO_TOKEN}} - - name: Install deploy docs deppendencies - run: yarn - working-directory: ./.github/actions/github-pages-deploy-action-4.6.3 - - - name: Deploy docs - uses: "./.github/actions/github-pages-deploy-action-4.6.3" + - name: Setup GitHub Pages 🛠 + uses: actions/configure-pages@v5 + + - name: Upload artifact ⬆️ + uses: actions/upload-pages-artifact@v3 with: - branch: docs - folder: packages/millicast-sdk/docs + path: packages/millicast-sdk/docs + + - name: Deploy to GitHub Pages 🚀 + id: deployment + uses: actions/deploy-pages@v4 publish-npm: if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 'rc') @@ -43,8 +58,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + + - name: Install the dependencies 🧱 + run: npm ci - name: Add Readme to package run: cp README.md packages/millicast-sdk/README.md @@ -55,4 +71,4 @@ jobs: npm run build npm publish --access public env: - NODE_AUTH_TOKEN: ${{secrets.npm_token}} + NODE_AUTH_TOKEN: ${{secrets.npm_token}} \ No newline at end of file diff --git a/.github/workflows/rc-release.yml b/.github/workflows/rc-release.yml index 359187bf..42b5366a 100644 --- a/.github/workflows/rc-release.yml +++ b/.github/workflows/rc-release.yml @@ -14,8 +14,8 @@ jobs: if: ${{ startsWith(github.ref, 'refs/tags/next-') }} steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: build docs run: npm run build-docs - name: deploy docs @@ -32,8 +32,8 @@ jobs: if: ${{ startsWith(github.ref, 'refs/tags/next-') }} steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: build run: npx lerna run build --scope=@millicast/sdk - name: cache SDK build @@ -54,8 +54,8 @@ jobs: MILLICAST_STREAM_NAME: ${{ vars.MULTIVIEW_DEMO_STREAM_NAME }} steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: Restore sdk build uses: actions/cache/restore@v4 with: @@ -79,8 +79,8 @@ jobs: MILLICAST_PUBLISH_TOKEN: ${{ secrets.PUBLISHER_DEMO_TOKEN }} steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: Restore sdk build uses: actions/cache/restore@v4 with: @@ -101,8 +101,8 @@ jobs: if: ${{ startsWith(github.ref, 'refs/tags/next-') }} steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: Restore sdk build uses: actions/cache/restore@v4 with: From 07e0741b577aab402b2711d6c7511c4a2933605c Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 8 Jul 2025 17:19:20 -0700 Subject: [PATCH 08/22] Update Github Actions Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .github/workflows/check-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-tests.yml b/.github/workflows/check-tests.yml index 84c66b55..783dc2fb 100644 --- a/.github/workflows/check-tests.yml +++ b/.github/workflows/check-tests.yml @@ -52,7 +52,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Setup and Install - uses: ./.github/actions/setup-install + - name: Install the dependencies 🧱 + run: npm ci - name: build docs run: npm run build-docs \ No newline at end of file From 2b0a5d5b649e4a2ff8851d6dc84236315a27956a Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Wed, 9 Jul 2025 14:09:30 -0700 Subject: [PATCH 09/22] Update dependencies Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package-lock.json | 17736 +++++++++------- package.json | 26 +- .../tests/unit/LoggerHandlers.steps.js | 2 +- 3 files changed, 9901 insertions(+), 7863 deletions(-) diff --git a/package-lock.json b/package-lock.json index 723dc949..c8fd0010 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ ], "dependencies": { "@dolbyio/webrtc-stats": "^1.0.4", - "@types/node": "^18.11.10", + "@types/node": "^24.0.12", "@types/ua-parser-js": "^0.7.39", "buffer": "^6.0.3", "events": "^3.3.0", @@ -37,7 +37,7 @@ "@nx/eslint-plugin": "19.5.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", - "@nx/vite": "19.5.3", + "@nx/vite": "21.2.2", "@nx/web": "19.5.3", "@nx/workspace": "19.5.3", "@rollup/plugin-babel": "^5.3.0", @@ -52,16 +52,16 @@ "@types/node": "18.16.9", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", - "@vitest/ui": "^1.3.1", + "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", - "dotenv": "^8.2.0", - "eslint": "^8.57.0", + "dotenv": "^17.2.0", + "eslint": "^8.2.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.6.0", + "eslint-plugin-jest": "^28.13.3", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", "husky": "^4.3.8", @@ -69,9 +69,9 @@ "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", - "netlify-cli": "^17.15.6", - "npm": "^8.11.0", - "nx": "19.5.3", + "netlify-cli": "^22.2.2", + "npm": "^11.4.2", + "nx": "21.2.2", "prettier": "^2.6.2", "puppeteer": "^21.6.1", "serve": "^14.2.1", @@ -80,11 +80,11 @@ "ts-node": "10.9.1", "typedoc": "^0.28.5", "typedoc-plugin-mdn-links": "^5.0.2", - "typescript": "^5.6.3", + "typescript": "^5.8.3", "underscore": "^1.13.1", - "vite": "^5.2.10", - "vite-plugin-dts": "~3.8.1", - "vitest": "^1.3.1" + "vite": "^6.0.0", + "vite-plugin-dts": "^4.5.4", + "vitest": "^3.0.0" } }, "node_modules/@ampproject/remapping": { @@ -102,14 +102,15 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", - "picocolors": "^1.0.0" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" @@ -408,9 +409,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -418,9 +419,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "license": "MIT", "engines": { @@ -453,43 +454,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.28.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1883,28 +1868,25 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", - "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", "dev": true, "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1930,15 +1912,14 @@ } }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", + "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2070,9 +2051,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", "cpu": [ "ppc64" ], @@ -2083,13 +2064,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", "cpu": [ "arm" ], @@ -2100,13 +2081,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", "cpu": [ "arm64" ], @@ -2117,13 +2098,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", "cpu": [ "x64" ], @@ -2134,13 +2115,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", "cpu": [ "arm64" ], @@ -2151,13 +2132,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", "cpu": [ "x64" ], @@ -2168,13 +2149,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", "cpu": [ "arm64" ], @@ -2185,13 +2166,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", "cpu": [ "x64" ], @@ -2202,13 +2183,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", "cpu": [ "arm" ], @@ -2219,13 +2200,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", "cpu": [ "arm64" ], @@ -2236,13 +2217,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", "cpu": [ "ia32" ], @@ -2253,13 +2234,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", "cpu": [ "loong64" ], @@ -2270,13 +2251,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", "cpu": [ "mips64el" ], @@ -2287,13 +2268,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", "cpu": [ "ppc64" ], @@ -2304,13 +2285,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", "cpu": [ "riscv64" ], @@ -2321,13 +2302,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", "cpu": [ "s390x" ], @@ -2338,13 +2319,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", "cpu": [ "x64" ], @@ -2355,13 +2336,30 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", "cpu": [ "x64" ], @@ -2372,13 +2370,30 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", "cpu": [ "x64" ], @@ -2389,13 +2404,30 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", "cpu": [ "x64" ], @@ -2406,13 +2438,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", "cpu": [ "arm64" ], @@ -2423,13 +2455,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", "cpu": [ "ia32" ], @@ -2440,13 +2472,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", "cpu": [ "x64" ], @@ -2457,7 +2489,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -3419,40 +3451,40 @@ "license": "MIT" }, "node_modules/@microsoft/api-extractor": { - "version": "7.43.0", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.43.0.tgz", - "integrity": "sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==", + "version": "7.52.8", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.52.8.tgz", + "integrity": "sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.28.13", - "@microsoft/tsdoc": "0.14.2", - "@microsoft/tsdoc-config": "~0.16.1", - "@rushstack/node-core-library": "4.0.2", - "@rushstack/rig-package": "0.5.2", - "@rushstack/terminal": "0.10.0", - "@rushstack/ts-command-line": "4.19.1", + "@microsoft/api-extractor-model": "7.30.6", + "@microsoft/tsdoc": "~0.15.1", + "@microsoft/tsdoc-config": "~0.17.1", + "@rushstack/node-core-library": "5.13.1", + "@rushstack/rig-package": "0.5.3", + "@rushstack/terminal": "0.15.3", + "@rushstack/ts-command-line": "5.0.1", "lodash": "~4.17.15", "minimatch": "~3.0.3", "resolve": "~1.22.1", "semver": "~7.5.4", "source-map": "~0.6.1", - "typescript": "5.4.2" + "typescript": "5.8.2" }, "bin": { "api-extractor": "bin/api-extractor" } }, "node_modules/@microsoft/api-extractor-model": { - "version": "7.28.13", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.28.13.tgz", - "integrity": "sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==", + "version": "7.30.6", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.30.6.tgz", + "integrity": "sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "@microsoft/tsdoc-config": "~0.16.1", - "@rushstack/node-core-library": "4.0.2" + "@microsoft/tsdoc": "~0.15.1", + "@microsoft/tsdoc-config": "~0.17.1", + "@rushstack/node-core-library": "5.13.1" } }, "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { @@ -3498,9 +3530,9 @@ } }, "node_modules/@microsoft/api-extractor/node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3519,39 +3551,49 @@ "license": "ISC" }, "node_modules/@microsoft/tsdoc": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", - "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz", + "integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==", "dev": true, "license": "MIT" }, "node_modules/@microsoft/tsdoc-config": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", - "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz", + "integrity": "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.14.2", - "ajv": "~6.12.6", + "@microsoft/tsdoc": "0.15.1", + "ajv": "~8.12.0", "jju": "~1.4.0", - "resolve": "~1.19.0" + "resolve": "~1.22.2" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@microsoft/tsdoc-config/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/@millicast/sdk": { "resolved": "packages/millicast-sdk", "link": true @@ -3616,6 +3658,447 @@ "@nx/devkit": "19.5.3" } }, + "node_modules/@nrwl/devkit/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/devkit/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nrwl/devkit/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nrwl/devkit/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nrwl/devkit/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nrwl/devkit/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nrwl/devkit/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nrwl/devkit/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nrwl/devkit/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nrwl/devkit/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nrwl/devkit/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nrwl/devkit/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nrwl/devkit/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nrwl/devkit/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nrwl/devkit/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@nrwl/eslint-plugin-nx": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.5.3.tgz", @@ -3660,14 +4143,409 @@ "tao": "index.js" } }, - "node_modules/@nrwl/vite": { + "node_modules/@nrwl/tao/node_modules/@nx/nx-darwin-arm64": { "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/vite/-/vite-19.5.3.tgz", - "integrity": "sha512-BdJ5XJl+rmipxxcTiM2VLqcgRguBNuWxpVcFdTeLvMA8+5ALKc3h7bydlJPFp2ovCAXG3fEtn3Rd32QWho5BBg==", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.3.tgz", + "integrity": "sha512-DacVfnhx7wiglDXRAdbrmaP4s3ZQXMs8Mk0fGoQYjv1uwWajDOPxMYJUZH0CGysIDADSrku4AIqogGX/CZjSuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-darwin-x64": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.3.tgz", + "integrity": "sha512-AfY1g8nYJbBGiR2SDt/Q8YcQyuwtRmGxfJIrzCu+2+hFFds7RF9iaqeKedWeHN9wAsaTbDnBuDwwojT9LMOxaA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-freebsd-x64": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.3.tgz", + "integrity": "sha512-dWwxFs9bp67n/l1QhI41pSJk+mpwDNh7RY+WQBUldWbIyh8c4/wYk3VaqjALPCcGUky/RCME6rdLkqxFRAIs4A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.3.tgz", + "integrity": "sha512-7l79OXwKVqnTr6/85mVPU+h3nnxGDAWgY6kTJNdmuaFlDgbHKbcNo9FFSu2srdqr1x84UsU49w8ZBJbdwA5YSg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.3.tgz", + "integrity": "sha512-aFCuoUiEI20tGCxdUDO0JWCWli3RH0LPCXjnQ4H4pNMzT8zpvjvu+Js7FtwFG+NZWOdlmtiDlthnVAd+5ex6Wg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm64-musl": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.3.tgz", + "integrity": "sha512-gcjdlGvgQ4ahSfPpMw32cr7GrCYhr/58D1R/bbyem0QQg+EdLbLlhhdS2pAHBCoENfpSnknQZhMrUN1LR8Qmpw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-x64-gnu": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.3.tgz", + "integrity": "sha512-Jwu6peOyaV9WTR1ihzfIIqEBYsbOSy0cH8H36ce17zpemq6l/Cz5EJ7blVXut1qksMFvC/QbkTWqTlfO5XEHIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-x64-musl": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.3.tgz", + "integrity": "sha512-84KnkghjbInJAoWvCJB34lHq9iGCgo5KjcxUFZJFNDYTQh/VBTp/OhH8bFyPRwQTPVSToLeBhoFvGB1bqBekrA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.3.tgz", + "integrity": "sha512-q19m59cm+VTZzlHh+/dSHism7hgKfGHR+nW5xtxIF00rZQpJpv0ve7GVvyXPFw7NXvceYRK1THes1MljYXyslQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@nx/nx-win32-x64-msvc": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.3.tgz", + "integrity": "sha512-DOdO7K6ySiwrXsnJNjJXxng427n5+nXIDt4L81ltCdr6oE8wUiUpRTt1dfl65rHknojB/b1at3V6+x450F0/2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/tao/node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/@nrwl/tao/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nrwl/tao/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nrwl/tao/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nrwl/tao/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nrwl/tao/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nrwl/tao/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nrwl/tao/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nrwl/tao/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nrwl/tao/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nrwl/tao/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nrwl/tao/node_modules/nx": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.3.tgz", + "integrity": "sha512-ZUrnRwPdRWXeo8IuLj16Oo9IfiDjd8C6xKWC4F6wcTNZ9ZS7ZErrfqaQr04zdO89ASF9brbkqm0UkMyDPc6kPQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@nrwl/tao": "19.5.3", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "19.5.3", + "@nx/nx-darwin-x64": "19.5.3", + "@nx/nx-freebsd-x64": "19.5.3", + "@nx/nx-linux-arm-gnueabihf": "19.5.3", + "@nx/nx-linux-arm64-gnu": "19.5.3", + "@nx/nx-linux-arm64-musl": "19.5.3", + "@nx/nx-linux-x64-gnu": "19.5.3", + "@nx/nx-linux-x64-musl": "19.5.3", + "@nx/nx-win32-arm64-msvc": "19.5.3", + "@nx/nx-win32-x64-msvc": "19.5.3" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nrwl/tao/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nrwl/tao/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/vite": "19.5.3" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/@nrwl/web": { @@ -3691,13 +4569,12 @@ } }, "node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.2.tgz", + "integrity": "sha512-fBeFY8wW9cb6AWjPGNZVa8nhYpDVu1hDPirxy+Z0Uxe3uo6BfwP9ZrUVIj99yGi2accEcvNx0ccygaa0aPzKng==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/devkit": "19.5.3", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -3708,13 +4585,13 @@ "yargs-parser": "21.1.1" }, "peerDependencies": { - "nx": ">= 17 <= 20" + "nx": "21.2.2" } }, "node_modules/@nx/devkit/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3751,9 +4628,9 @@ } }, "node_modules/@nx/devkit/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -3815,147 +4692,2089 @@ } } }, - "node_modules/@nx/eslint-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "nx": ">= 17 <= 20" } }, - "node_modules/@nx/eslint-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, "engines": { - "node": ">=7.0.0" + "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/eslint-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@nx/eslint/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/@nx/eslint-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/eslint-plugin/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nx/eslint-plugin/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/eslint/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nx/eslint/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/eslint/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nx/eslint/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/eslint/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint/node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@nx/jest": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", + "integrity": "sha512-hd+G8mgCKkmtmCGMxkpwUxvzyi2v0TjGqr6rmUAFUqv6gE+z9TIehQbbrFI17FiWcF7bLpSE1Xtm7Mu9Pc0fUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^29.4.1", + "@jest/test-result": "^29.4.1", + "@nrwl/jest": "19.5.3", + "@nx/devkit": "19.5.3", + "@nx/js": "19.5.3", + "@phenomnomnominal/tsquery": "~5.0.1", + "chalk": "^4.1.0", + "identity-obj-proxy": "3.0.0", + "jest-config": "^29.4.1", + "jest-resolve": "^29.4.1", + "jest-util": "^29.4.1", + "minimatch": "9.0.3", + "resolve.exports": "1.1.0", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/jest/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/jest/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/@nx/jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/jest/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/jest/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/jest/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nx/jest/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/jest/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/jest/node_modules/nx/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/jest/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.5.3.tgz", + "integrity": "sha512-NcL3RicE5b+nvnAQkz2rVDMIcmM62o98SqIF6SmPaevJxMu+2YhlSU4p6btrFDDl3gSvQkhvVAoAsRpb3s1nJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "19.5.3", + "@nx/devkit": "19.5.3", + "@nx/workspace": "19.5.3", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/js/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nx/js/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/js/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nx/js/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nx/js/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/js/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/js/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/js/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, "bin": { - "semver": "bin/semver.js" + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=10" } }, - "node_modules/@nx/eslint/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "node_modules/@nx/js/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "semver": "bin/semver.js" }, "engines": { - "node": ">=14.17" + "node": ">=10" } }, - "node_modules/@nx/jest": { + "node_modules/@nx/js/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/linter": { "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", - "integrity": "sha512-hd+G8mgCKkmtmCGMxkpwUxvzyi2v0TjGqr6rmUAFUqv6gE+z9TIehQbbrFI17FiWcF7bLpSE1Xtm7Mu9Pc0fUA==", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.5.3.tgz", + "integrity": "sha512-+aFsSPlBmosUfp0mC5HnzFKeqTsjsw9cLZM/7NxJNRq3nUIVaxZSx97OSVm5o1LPS9jybtZg2RdO0s/y/FbVjA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/reporters": "^29.4.1", - "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", + "@nx/eslint": "19.5.3" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.2.tgz", + "integrity": "sha512-qDF1SHW9UYzFQBRA3MGLYDPCU/j1ACasAdjv5kMXXBtmg+1WC3mZ/KO84wXJE7j9ImXOPKm9dmiW63LfXteXZw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.2.tgz", + "integrity": "sha512-gdxOcfGonAD+eM5oKKd+2rcrGWmJOfON5HJpLkDfgOO/vyb6FUQub3xUu/JB2RAJ4r6iW/8JZxzheFDIiHDEug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.2.tgz", + "integrity": "sha512-uO+k4AXGchOlzsoE3uljBKYlI84hv15R2CcLfXjbwrIw+0YZOIeZ/pDYNZMpOy1HePTuCVUxaYQCEBO7N2PI3w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.2.tgz", + "integrity": "sha512-7ZaZKJNqQvvXs66GYdvY7kJoZ3wFnaIamjdlFYtH+5oQdCTqRTHb9HsB0/q6pf5nEDCEW/FJkXszKgCfViDZLA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.2.tgz", + "integrity": "sha512-M1YuraXtzYTm/HXDAUWN7e009lWFTvpFF1Z38f7IuB07u76ARw1Fb/BcjVYHwt65QR70AcM7MQ5Fpq7PThHPkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.2.tgz", + "integrity": "sha512-raXkg8uijQFOgfKadUzwkFetyFb5pQbY0u6aLz0o9Eq5ml82B8ODrHwZdj2YLVNx2bB2Y0nq6R6HeYQRB94xIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.2.tgz", + "integrity": "sha512-je6D2kG8jCB72QVrYRXs4xRrU2g2zQREqODt+s1zI2lWlMDJcBwxDxGtlxXM3mDyeUGCh2s9nlkrA0GCTin1LQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.2.tgz", + "integrity": "sha512-ZDCNM0iBACq5Wgb1+JY20jMMRmxQKIDAoCrkxMciSAjh5s/1fGOboqWmKoztwW5g9QPJs/GdOojWbesu4B42eg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.2.tgz", + "integrity": "sha512-jQRWpp2i5yAYD0FcZWZu6HMVxPWGEEa1DAf9wn7gHsORCehYH91GeOeVmaXcsPEg56uN+QhJhpIRIcDE5Ob4kw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.2.tgz", + "integrity": "sha512-qBrVdqYVRV1KQFyRtQbtic/R5ByH9F0kZJoQM3hSmcHgbg2s2+v9ivnaik4L6iX8FbAoCjYYm+J8L42yuOgCJA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/vite": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-21.2.2.tgz", + "integrity": "sha512-lGtRUFSUGg717bdn6AUh2cOdPzBU7mxlM3qPgRBylEsZ7gtrVyojehWF1gxKP4mXoKXhIUOtmiCWd5XIf3jf0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "21.2.2", + "@nx/js": "21.2.2", "@phenomnomnominal/tsquery": "~5.0.1", + "@swc/helpers": "~0.5.0", + "ajv": "^8.0.0", + "enquirer": "~2.3.6", + "picomatch": "4.0.2", + "semver": "^7.6.3", + "tsconfig-paths": "^4.1.2" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vitest": "^1.3.1 || ^2.0.0 || ^3.0.0" + } + }, + "node_modules/@nx/vite/node_modules/@nx/js": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", + "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "21.2.2", + "@nx/workspace": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", "chalk": "^4.1.0", - "identity-obj-proxy": "3.0.0", - "jest-config": "^29.4.1", - "jest-resolve": "^29.4.1", - "jest-util": "^29.4.1", - "minimatch": "9.0.3", - "resolve.exports": "1.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "picocolors": "^1.1.0", + "picomatch": "4.0.2", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/vite/node_modules/@nx/workspace": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", + "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "21.2.2", + "picomatch": "4.0.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } }, - "node_modules/@nx/jest/node_modules/ansi-styles": { + "node_modules/@nx/vite/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@nx/vite/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -3971,17 +6790,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/jest/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@nx/vite/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, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" } }, - "node_modules/@nx/jest/node_modules/chalk": { + "node_modules/@nx/vite/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -3998,7 +6823,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nx/jest/node_modules/color-convert": { + "node_modules/@nx/vite/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4011,99 +6836,334 @@ "node": ">=7.0.0" } }, - "node_modules/@nx/jest/node_modules/color-name": { + "node_modules/@nx/vite/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, - "node_modules/@nx/jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@nx/vite/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@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/@nx/vite/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/vite/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/vite/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/vite/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/vite/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/vite/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/vite/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/web": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.5.3.tgz", + "integrity": "sha512-4uq57zrjxplTB7nyLZY05iIOH6tXR55cP/lpj9nWhrMFZluybanaEExe+3a/y0bnn13Le5sg1TXpvapUQYH8tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/web": "19.5.3", + "@nx/devkit": "19.5.3", + "@nx/js": "19.5.3", + "chalk": "^4.1.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/web/node_modules/@nx/devkit": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-darwin-arm64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", + "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-darwin-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", + "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-freebsd-x64": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", + "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", + "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", + "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", + "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/web/node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", + "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@nx/jest/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nx/web/node_modules/@nx/nx-linux-x64-musl": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", + "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 10" } }, - "node_modules/@nx/jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@nx/web/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", + "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@nx/js": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.5.3.tgz", - "integrity": "sha512-NcL3RicE5b+nvnAQkz2rVDMIcmM62o98SqIF6SmPaevJxMu+2YhlSU4p6btrFDDl3gSvQkhvVAoAsRpb3s1nJQ==", + "node_modules/@nx/web/node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", + "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/workspace": "19.5.3", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^2.8.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "fast-glob": "3.2.7", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "minimatch": "9.0.3", - "npm-package-arg": "11.0.1", - "npm-run-path": "^4.0.1", - "ora": "5.3.0", - "semver": "^7.5.3", - "source-map-support": "0.5.19", - "ts-node": "10.9.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "verdaccio": "^5.0.4" - }, - "peerDependenciesMeta": { - "verdaccio": { - "optional": true - } + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" } }, - "node_modules/@nx/js/node_modules/ansi-styles": { + "node_modules/@nx/web/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4119,17 +7179,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/js/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@nx/web/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@nx/js/node_modules/chalk": { + "node_modules/@nx/web/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4146,7 +7206,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nx/js/node_modules/color-convert": { + "node_modules/@nx/web/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4159,29 +7219,41 @@ "node": ">=7.0.0" } }, - "node_modules/@nx/js/node_modules/color-name": { + "node_modules/@nx/web/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, - "node_modules/@nx/js/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "node_modules/@nx/web/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@nx/web/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">=14.14" + "node": ">=8.6" } }, - "node_modules/@nx/js/node_modules/has-flag": { + "node_modules/@nx/web/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -4191,20 +7263,15 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@nx/web/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true, "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } + "peer": true }, - "node_modules/@nx/js/node_modules/minimatch": { + "node_modules/@nx/web/node_modules/minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", @@ -4220,10 +7287,94 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/js/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/@nx/web/node_modules/nx": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", + "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.8.2", + "@nx/nx-darwin-x64": "20.8.2", + "@nx/nx-freebsd-x64": "20.8.2", + "@nx/nx-linux-arm-gnueabihf": "20.8.2", + "@nx/nx-linux-arm64-gnu": "20.8.2", + "@nx/nx-linux-arm64-musl": "20.8.2", + "@nx/nx-linux-x64-gnu": "20.8.2", + "@nx/nx-linux-x64-musl": "20.8.2", + "@nx/nx-win32-arm64-msvc": "20.8.2", + "@nx/nx-win32-x64-msvc": "20.8.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nx/web/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/web/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -4233,7 +7384,7 @@ "node": ">=10" } }, - "node_modules/@nx/js/node_modules/supports-color": { + "node_modules/@nx/web/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4246,27 +7397,44 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/@nx/workspace": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.5.3.tgz", + "integrity": "sha512-nGBN8R/eGVYGHphSAYAXGjyuQx1/Fb27hoGATTop9LBxbzA0QnokRN95Vx9/UFMCJU3Mf5GlXD+x6vCbrRSWug==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@nrwl/workspace": "19.5.3", + "@nx/devkit": "19.5.3", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "19.5.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" } }, - "node_modules/@nx/linter": { + "node_modules/@nx/workspace/node_modules/@nx/devkit": { "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.5.3.tgz", - "integrity": "sha512-+aFsSPlBmosUfp0mC5HnzFKeqTsjsw9cLZM/7NxJNRq3nUIVaxZSx97OSVm5o1LPS9jybtZg2RdO0s/y/FbVjA==", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", + "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/eslint": "19.5.3" + "@nrwl/devkit": "19.5.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 17 <= 20" } }, - "node_modules/@nx/nx-darwin-arm64": { + "node_modules/@nx/workspace/node_modules/@nx/nx-darwin-arm64": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.3.tgz", "integrity": "sha512-DacVfnhx7wiglDXRAdbrmaP4s3ZQXMs8Mk0fGoQYjv1uwWajDOPxMYJUZH0CGysIDADSrku4AIqogGX/CZjSuQ==", @@ -4283,7 +7451,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-darwin-x64": { + "node_modules/@nx/workspace/node_modules/@nx/nx-darwin-x64": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.3.tgz", "integrity": "sha512-AfY1g8nYJbBGiR2SDt/Q8YcQyuwtRmGxfJIrzCu+2+hFFds7RF9iaqeKedWeHN9wAsaTbDnBuDwwojT9LMOxaA==", @@ -4300,7 +7468,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-freebsd-x64": { + "node_modules/@nx/workspace/node_modules/@nx/nx-freebsd-x64": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.3.tgz", "integrity": "sha512-dWwxFs9bp67n/l1QhI41pSJk+mpwDNh7RY+WQBUldWbIyh8c4/wYk3VaqjALPCcGUky/RCME6rdLkqxFRAIs4A==", @@ -4317,7 +7485,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { + "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm-gnueabihf": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.3.tgz", "integrity": "sha512-7l79OXwKVqnTr6/85mVPU+h3nnxGDAWgY6kTJNdmuaFlDgbHKbcNo9FFSu2srdqr1x84UsU49w8ZBJbdwA5YSg==", @@ -4334,7 +7502,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-arm64-gnu": { + "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm64-gnu": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.3.tgz", "integrity": "sha512-aFCuoUiEI20tGCxdUDO0JWCWli3RH0LPCXjnQ4H4pNMzT8zpvjvu+Js7FtwFG+NZWOdlmtiDlthnVAd+5ex6Wg==", @@ -4351,7 +7519,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-arm64-musl": { + "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm64-musl": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.3.tgz", "integrity": "sha512-gcjdlGvgQ4ahSfPpMw32cr7GrCYhr/58D1R/bbyem0QQg+EdLbLlhhdS2pAHBCoENfpSnknQZhMrUN1LR8Qmpw==", @@ -4368,7 +7536,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-x64-gnu": { + "node_modules/@nx/workspace/node_modules/@nx/nx-linux-x64-gnu": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.3.tgz", "integrity": "sha512-Jwu6peOyaV9WTR1ihzfIIqEBYsbOSy0cH8H36ce17zpemq6l/Cz5EJ7blVXut1qksMFvC/QbkTWqTlfO5XEHIw==", @@ -4385,7 +7553,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-linux-x64-musl": { + "node_modules/@nx/workspace/node_modules/@nx/nx-linux-x64-musl": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.3.tgz", "integrity": "sha512-84KnkghjbInJAoWvCJB34lHq9iGCgo5KjcxUFZJFNDYTQh/VBTp/OhH8bFyPRwQTPVSToLeBhoFvGB1bqBekrA==", @@ -4402,7 +7570,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-win32-arm64-msvc": { + "node_modules/@nx/workspace/node_modules/@nx/nx-win32-arm64-msvc": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.3.tgz", "integrity": "sha512-q19m59cm+VTZzlHh+/dSHism7hgKfGHR+nW5xtxIF00rZQpJpv0ve7GVvyXPFw7NXvceYRK1THes1MljYXyslQ==", @@ -4419,7 +7587,7 @@ "node": ">= 10" } }, - "node_modules/@nx/nx-win32-x64-msvc": { + "node_modules/@nx/workspace/node_modules/@nx/nx-win32-x64-msvc": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.3.tgz", "integrity": "sha512-DOdO7K6ySiwrXsnJNjJXxng427n5+nXIDt4L81ltCdr6oE8wUiUpRTt1dfl65rHknojB/b1at3V6+x450F0/2A==", @@ -4436,56 +7604,21 @@ "node": ">= 10" } }, - "node_modules/@nx/vite": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-19.5.3.tgz", - "integrity": "sha512-qJu9X13zDg78z0mKtOt3S2c4umlKkydJ9QfrfKId803wEN/7CXqSbl//I4sDNM/W/UA1MLze0kqpiHLLy3h4gg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/vite": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "@swc/helpers": "~0.5.0", - "enquirer": "~2.3.6", - "tsconfig-paths": "^4.1.2" - }, - "peerDependencies": { - "vite": "^5.0.0", - "vitest": "^1.3.1" - } - }, - "node_modules/@nx/vite/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@nx/workspace/node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-colors": "^4.1.1" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/@nx/web": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.5.3.tgz", - "integrity": "sha512-4uq57zrjxplTB7nyLZY05iIOH6tXR55cP/lpj9nWhrMFZluybanaEExe+3a/y0bnn13Le5sg1TXpvapUQYH8tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/web": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "chalk": "^4.1.0", - "detect-port": "^1.5.1", - "http-server": "^14.1.0", - "tslib": "^2.3.0" + "node": ">=14.15.0" } }, - "node_modules/@nx/web/node_modules/ansi-styles": { + "node_modules/@nx/workspace/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4501,7 +7634,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/web/node_modules/chalk": { + "node_modules/@nx/workspace/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nx/workspace/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4518,7 +7661,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nx/web/node_modules/color-convert": { + "node_modules/@nx/workspace/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4531,126 +7674,156 @@ "node": ">=7.0.0" } }, - "node_modules/@nx/web/node_modules/color-name": { + "node_modules/@nx/workspace/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, - "node_modules/@nx/web/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@nx/workspace/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/@nx/web/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@nx/workspace/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/workspace": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.5.3.tgz", - "integrity": "sha512-nGBN8R/eGVYGHphSAYAXGjyuQx1/Fb27hoGATTop9LBxbzA0QnokRN95Vx9/UFMCJU3Mf5GlXD+x6vCbrRSWug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/workspace": "19.5.3", - "@nx/devkit": "19.5.3", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "19.5.3", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "node": ">=8.6" } }, - "node_modules/@nx/workspace/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@nx/workspace/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nx/workspace/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@nx/workspace/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/@nx/workspace/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/workspace/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@nx/workspace/node_modules/nx": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.3.tgz", + "integrity": "sha512-ZUrnRwPdRWXeo8IuLj16Oo9IfiDjd8C6xKWC4F6wcTNZ9ZS7ZErrfqaQr04zdO89ASF9brbkqm0UkMyDPc6kPQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@napi-rs/wasm-runtime": "0.2.4", + "@nrwl/tao": "19.5.3", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/workspace/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/workspace/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" }, - "engines": { - "node": ">=8.6" + "optionalDependencies": { + "@nx/nx-darwin-arm64": "19.5.3", + "@nx/nx-darwin-x64": "19.5.3", + "@nx/nx-freebsd-x64": "19.5.3", + "@nx/nx-linux-arm-gnueabihf": "19.5.3", + "@nx/nx-linux-arm64-gnu": "19.5.3", + "@nx/nx-linux-arm64-musl": "19.5.3", + "@nx/nx-linux-x64-gnu": "19.5.3", + "@nx/nx-linux-x64-musl": "19.5.3", + "@nx/nx-win32-arm64-msvc": "19.5.3", + "@nx/nx-win32-x64-msvc": "19.5.3" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/@nx/workspace/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@nx/workspace/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/@nx/workspace/node_modules/supports-color": { @@ -4680,9 +7853,9 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "dev": true, "license": "MIT" }, @@ -4913,9 +8086,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", - "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz", + "integrity": "sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==", "cpu": [ "arm" ], @@ -4927,9 +8100,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", - "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.2.tgz", + "integrity": "sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==", "cpu": [ "arm64" ], @@ -4941,9 +8114,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", - "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.2.tgz", + "integrity": "sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==", "cpu": [ "arm64" ], @@ -4955,9 +8128,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", - "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.2.tgz", + "integrity": "sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==", "cpu": [ "x64" ], @@ -4968,10 +8141,38 @@ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.2.tgz", + "integrity": "sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.2.tgz", + "integrity": "sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", - "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.2.tgz", + "integrity": "sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==", "cpu": [ "arm" ], @@ -4983,9 +8184,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", - "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.2.tgz", + "integrity": "sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==", "cpu": [ "arm" ], @@ -4997,9 +8198,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", - "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.2.tgz", + "integrity": "sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==", "cpu": [ "arm64" ], @@ -5011,9 +8212,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", - "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.2.tgz", + "integrity": "sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==", "cpu": [ "arm64" ], @@ -5024,10 +8225,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.2.tgz", + "integrity": "sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", - "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.2.tgz", + "integrity": "sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==", "cpu": [ "ppc64" ], @@ -5039,9 +8254,23 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", - "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.2.tgz", + "integrity": "sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.2.tgz", + "integrity": "sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==", "cpu": [ "riscv64" ], @@ -5053,9 +8282,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", - "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.2.tgz", + "integrity": "sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==", "cpu": [ "s390x" ], @@ -5067,9 +8296,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", - "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.2.tgz", + "integrity": "sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==", "cpu": [ "x64" ], @@ -5081,9 +8310,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", - "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.2.tgz", + "integrity": "sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==", "cpu": [ "x64" ], @@ -5095,9 +8324,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", - "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.2.tgz", + "integrity": "sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==", "cpu": [ "arm64" ], @@ -5109,9 +8338,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", - "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.2.tgz", + "integrity": "sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==", "cpu": [ "ia32" ], @@ -5123,9 +8352,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", - "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz", + "integrity": "sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==", "cpu": [ "x64" ], @@ -5144,18 +8373,20 @@ "license": "MIT" }, "node_modules/@rushstack/node-core-library": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", - "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.13.1.tgz", + "integrity": "sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==", "dev": true, "license": "MIT", "dependencies": { - "fs-extra": "~7.0.1", + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", - "semver": "~7.5.4", - "z-schema": "~5.0.2" + "semver": "~7.5.4" }, "peerDependencies": { "@types/node": "*" @@ -5166,6 +8397,45 @@ } } }, + "node_modules/@rushstack/node-core-library/node_modules/ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@rushstack/node-core-library/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -5203,9 +8473,9 @@ "license": "ISC" }, "node_modules/@rushstack/rig-package": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.2.tgz", - "integrity": "sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", + "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", "dev": true, "license": "MIT", "dependencies": { @@ -5214,13 +8484,13 @@ } }, "node_modules/@rushstack/terminal": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.10.0.tgz", - "integrity": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==", + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.3.tgz", + "integrity": "sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "4.0.2", + "@rushstack/node-core-library": "5.13.1", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -5259,13 +8529,13 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.19.1.tgz", - "integrity": "sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.0.1.tgz", + "integrity": "sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.10.0", + "@rushstack/terminal": "0.15.3", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -5795,6 +9065,23 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -6193,9 +9480,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6280,70 +9567,69 @@ "license": "ISC" }, "node_modules/@vitest/expect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", - "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "1.6.0", - "@vitest/utils": "1.6.0", - "chai": "^4.3.10" + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", - "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "1.6.0", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", - "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, "license": "MIT", "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot/node_modules/magic-string": { - "version": "0.30.12", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", - "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { @@ -6351,175 +9637,135 @@ } }, "node_modules/@vitest/spy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", - "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { - "tinyspy": "^2.2.0" + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/ui": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.6.0.tgz", - "integrity": "sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", + "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "1.6.0", - "fast-glob": "^3.3.2", - "fflate": "^0.8.1", - "flatted": "^3.2.9", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "sirv": "^2.0.4" + "@vitest/utils": "3.2.4", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.1", + "tinyglobby": "^0.2.14", + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "1.6.0" - } - }, - "node_modules/@vitest/ui/node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/@vitest/ui/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "vitest": "3.2.4" } }, "node_modules/@vitest/utils": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", - "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "dev": true, "license": "MIT", "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/utils/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitest/utils/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.18.tgz", + "integrity": "sha512-G3yYV85ekH4TV0EDS6DsS/dUJWrz675H9UgsxFz5pQbmas51a0Q2fF6Lb2q4RKgytuLZ4E0MBdT5PlVsJXNalw==", "dev": true, "license": "MIT", "dependencies": { - "@volar/source-map": "1.11.1" + "@volar/source-map": "2.4.18" } }, "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.18.tgz", + "integrity": "sha512-zaj2V/zo/CHQ/xA75h60jBPgrz+Ou9s6aPl7dX0rT46/uill9aB/ZaDk92ROpJsa/9e2xftCeNAU9ZwVyB/egQ==", "dev": true, - "license": "MIT", - "dependencies": { - "muggle-string": "^0.3.1" - } + "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.18.tgz", + "integrity": "sha512-xcbsMG8m/yhvO1VIKnTtc+llZxw3YtWkZiV7/F1qNpTORdPExkZRcBxJ5d19MXLpkeiQ+DG5JURHh1SV0bcWRA==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "1.11.1", - "path-browserify": "^1.0.1" + "@volar/language-core": "2.4.18", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" } }, "node_modules/@vue/compiler-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", - "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", + "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.12", + "@babel/parser": "^7.27.5", + "@vue/shared": "3.5.17", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" + "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", - "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", + "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.17", + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.12", - "@vue/shared": "3.5.12" + "de-indent": "^1.0.2", + "he": "^1.2.0" } }, "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", + "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", - "computeds": "^0.0.1", + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^0.4.9", "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" @@ -6531,9 +9777,9 @@ } }, "node_modules/@vue/language-core/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6557,9 +9803,9 @@ } }, "node_modules/@vue/shared": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", - "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", + "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", "dev": true, "license": "MIT" }, @@ -6763,9 +10009,9 @@ "license": "BSD-2-Clause" }, "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", + "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -6773,7 +10019,7 @@ "tslib": "^2.4.0" }, "engines": { - "node": ">=14.15.0" + "node": ">=18.12.0" } }, "node_modules/@zeit/schemas": { @@ -6826,9 +10072,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", "bin": { @@ -6960,6 +10206,48 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -6971,6 +10259,13 @@ "ajv": "^6.9.1" } }, + "node_modules/alien-signals": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", + "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", + "dev": true, + "license": "MIT" + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -7017,19 +10312,6 @@ "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -7253,13 +10535,13 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/assign-symbols": { @@ -7339,9 +10621,9 @@ } }, "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "dev": true, "license": "MIT", "dependencies": { @@ -7934,9 +11216,9 @@ } }, "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==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -8238,47 +11520,20 @@ } }, "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" } }, "node_modules/chalk-template": { @@ -8384,16 +11639,13 @@ } }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/chokidar": { @@ -8571,29 +11823,6 @@ "node": ">=12" } }, - "node_modules/clean-jsdoc-theme/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/clean-jsdoc-theme/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -8735,23 +11964,6 @@ "node": ">=0.10.0" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -8869,13 +12081,6 @@ "dev": true, "license": "MIT" }, - "node_modules/computeds": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", - "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", - "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", @@ -9097,6 +12302,16 @@ "node": ">=8" } }, + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -9213,9 +12428,9 @@ } }, "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==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -9365,9 +12580,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9417,14 +12632,11 @@ "license": "MIT" }, "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -9661,13 +12873,16 @@ } }, "node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.0.tgz", + "integrity": "sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, "node_modules/dotenv-expand": { @@ -9929,12 +13144,11 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -9993,9 +13207,9 @@ } }, "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -10003,32 +13217,35 @@ "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.25.6", + "@esbuild/android-arm": "0.25.6", + "@esbuild/android-arm64": "0.25.6", + "@esbuild/android-x64": "0.25.6", + "@esbuild/darwin-arm64": "0.25.6", + "@esbuild/darwin-x64": "0.25.6", + "@esbuild/freebsd-arm64": "0.25.6", + "@esbuild/freebsd-x64": "0.25.6", + "@esbuild/linux-arm": "0.25.6", + "@esbuild/linux-arm64": "0.25.6", + "@esbuild/linux-ia32": "0.25.6", + "@esbuild/linux-loong64": "0.25.6", + "@esbuild/linux-mips64el": "0.25.6", + "@esbuild/linux-ppc64": "0.25.6", + "@esbuild/linux-riscv64": "0.25.6", + "@esbuild/linux-s390x": "0.25.6", + "@esbuild/linux-x64": "0.25.6", + "@esbuild/netbsd-arm64": "0.25.6", + "@esbuild/netbsd-x64": "0.25.6", + "@esbuild/openbsd-arm64": "0.25.6", + "@esbuild/openbsd-x64": "0.25.6", + "@esbuild/openharmony-arm64": "0.25.6", + "@esbuild/sunos-x64": "0.25.6", + "@esbuild/win32-arm64": "0.25.6", + "@esbuild/win32-ia32": "0.25.6", + "@esbuild/win32-x64": "0.25.6" } }, "node_modules/escalade": { @@ -10355,9 +13572,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.8.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz", - "integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==", + "version": "28.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz", + "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11044,6 +14261,23 @@ "node": ">=16" } }, + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "dev": true, + "license": "MIT" + }, "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -11209,6 +14443,23 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -11286,9 +14537,9 @@ } }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11505,9 +14756,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, @@ -11608,18 +14859,18 @@ } }, "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=14.14" } }, "node_modules/fs.realpath": { @@ -11703,16 +14954,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -11810,44 +15051,6 @@ "node": ">= 14" } }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/get-uri/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/get-uri/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -12614,6 +15817,16 @@ "node": ">=8" } }, + "node_modules/husky/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -13874,6 +17087,18 @@ "node": ">=8" } }, + "node_modules/jest-circus/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/jest-circus/node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -18871,11 +22096,14 @@ "license": "MIT" }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -18969,9 +22197,9 @@ } }, "node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, "license": "MIT", "engines": { @@ -19171,6 +22399,16 @@ "node": ">=8" } }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", @@ -19225,23 +22463,6 @@ "node": ">=8.9.0" } }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -19269,20 +22490,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -19486,14 +22693,11 @@ "license": "Apache-2.0" }, "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } + "license": "MIT" }, "node_modules/lower-case": { "version": "2.0.2", @@ -19822,15 +23026,15 @@ "license": "MIT" }, "node_modules/mlly": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.2.tgz", - "integrity": "sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.12.1", - "pathe": "^1.1.2", - "pkg-types": "^1.2.0", + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, @@ -19845,9 +23049,9 @@ } }, "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, "license": "MIT", "engines": { @@ -19862,16 +23066,16 @@ "license": "MIT" }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "dev": true, "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -19936,243 +23140,159 @@ "peer": true }, "node_modules/netlify-cli": { - "version": "17.37.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-17.37.0.tgz", - "integrity": "sha512-oP3SzF2ciGRMGFDmK+PxLdQ3w1zrwSZEHbiP7fqM4910D2ELaGFESsuaNuWCP1pWSJHVqPmOxlY5KfVr47HC7w==", + "version": "22.2.2", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-22.2.2.tgz", + "integrity": "sha512-g2NepIGfGzpSGTQr0W3LvdahytllYqkZVZiUbNKBkBwM1ZxlCc5hFCgZdYUGg0iuItvvPPd9dY8NpGL6ifhGpQ==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "license": "MIT", "dependencies": { - "@bugsnag/js": "7.25.0", "@fastify/static": "7.0.4", - "@netlify/blobs": "8.0.1", - "@netlify/build": "29.55.2", - "@netlify/build-info": "7.15.1", - "@netlify/config": "20.19.0", - "@netlify/edge-bundler": "12.2.3", - "@netlify/edge-functions": "2.9.0", - "@netlify/local-functions-proxy": "1.1.1", - "@netlify/zip-it-and-ship-it": "9.40.2", - "@octokit/rest": "20.1.1", + "@netlify/api": "14.0.3", + "@netlify/blobs": "9.1.6", + "@netlify/build": "33.5.0", + "@netlify/build-info": "10.0.7", + "@netlify/config": "23.0.11", + "@netlify/edge-bundler": "14.0.6", + "@netlify/edge-functions": "2.15.5", + "@netlify/headers-parser": "9.0.1", + "@netlify/local-functions-proxy": "2.0.3", + "@netlify/redirect-parser": "15.0.2", + "@netlify/zip-it-and-ship-it": "12.2.0", + "@octokit/rest": "21.1.1", "@opentelemetry/api": "1.8.0", + "@pnpm/tabtab": "0.5.4", "ansi-escapes": "7.0.0", - "ansi-styles": "6.2.1", "ansi-to-html": "0.7.2", "ascii-table": "0.0.9", "backoff": "2.5.0", - "better-opn": "3.0.2", - "boxen": "7.1.1", - "chalk": "5.3.0", + "boxen": "8.0.1", + "chalk": "5.4.1", "chokidar": "3.6.0", - "ci-info": "4.0.0", + "ci-info": "4.2.0", "clean-deep": "3.4.0", - "commander": "10.0.1", + "commander": "12.1.0", "comment-json": "4.2.5", - "concordance": "5.0.4", - "configstore": "6.0.0", "content-type": "1.0.5", - "cookie": "0.7.0", + "cookie": "1.0.2", "cron-parser": "4.9.0", - "debug": "4.3.7", + "debug": "4.4.0", "decache": "4.6.2", "dot-prop": "9.0.0", - "dotenv": "16.4.5", + "dotenv": "16.5.0", "env-paths": "3.0.0", "envinfo": "7.14.0", "etag": "1.8.1", "execa": "5.1.1", - "express": "4.21.0", + "express": "4.21.2", "express-logging": "1.1.1", "extract-zip": "2.0.1", "fastest-levenshtein": "1.0.16", - "fastify": "4.28.1", + "fastify": "4.29.1", "find-up": "7.0.0", - "flush-write-stream": "2.0.0", "folder-walker": "3.2.0", - "from2-array": "0.0.4", "fuzzy": "0.1.3", "get-port": "5.1.1", "gh-release-fetch": "4.0.3", "git-repo-info": "2.1.1", "gitconfiglocal": "2.1.0", - "hasbin": "1.2.3", - "hasha": "5.2.2", "http-proxy": "1.18.1", - "http-proxy-middleware": "2.0.7", - "https-proxy-agent": "7.0.5", - "inquirer": "6.5.2", + "http-proxy-middleware": "2.0.9", + "https-proxy-agent": "7.0.6", + "inquirer": "8.2.6", "inquirer-autocomplete-prompt": "1.4.0", "ipx": "2.1.0", "is-docker": "3.0.0", "is-stream": "4.0.1", "is-wsl": "3.1.0", "isexe": "3.1.1", - "js-yaml": "4.1.0", "jsonwebtoken": "9.0.2", "jwt-decode": "4.0.0", "lambda-local": "2.2.0", - "listr2": "8.2.5", "locate-path": "7.2.0", "lodash": "4.17.21", - "log-symbols": "6.0.0", "log-update": "6.1.0", "maxstache": "1.0.7", "maxstache-stream": "1.0.4", "multiparty": "4.2.3", - "netlify": "13.1.21", - "netlify-headers-parser": "7.1.4", - "netlify-redirect-parser": "14.3.0", + "nanospinner": "1.2.2", "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", - "node-version-alias": "3.4.1", - "ora": "8.1.0", + "normalize-package-data": "6.0.2", + "open": "10.1.2", "p-filter": "4.1.0", - "p-map": "7.0.2", + "p-map": "7.0.3", "p-wait-for": "5.0.2", "parallel-transform": "1.2.0", "parse-github-url": "1.0.3", "parse-gitignore": "2.0.0", - "path-key": "4.0.0", "prettyjson": "1.2.5", - "pump": "3.0.2", - "raw-body": "2.5.2", + "raw-body": "3.0.0", "read-package-up": "11.0.0", - "readdirp": "3.6.0", - "semver": "7.6.3", + "readdirp": "4.1.2", + "semver": "7.7.1", "source-map-support": "0.5.21", - "strip-ansi-control-characters": "2.0.0", - "tabtab": "3.0.2", - "tempy": "3.1.0", - "terminal-link": "3.0.0", - "through2-filter": "4.0.0", - "through2-map": "4.0.0", + "terminal-link": "4.0.0", "toml": "3.0.0", "tomlify-j0.4": "3.0.0", - "ulid": "2.3.0", - "unixify": "1.0.0", + "ulid": "3.0.0", "update-notifier": "7.3.1", - "uuid": "9.0.1", + "uuid": "11.1.0", "wait-port": "1.1.0", "write-file-atomic": "5.0.1", - "ws": "8.17.1", - "zod": "3.23.8" + "ws": "8.18.2" }, "bin": { "netlify": "bin/run.js", "ntl": "bin/run.js" }, "engines": { - "node": ">=18.14.0" + "node": ">=20.12.2" } }, "node_modules/netlify-cli/node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/netlify-cli/node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/netlify-cli/node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.27.3" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -20181,38 +23301,39 @@ } }, "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", - "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/netlify-cli/node_modules/@bugsnag/browser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.25.0.tgz", - "integrity": "sha512-PzzWy5d9Ly1CU1KkxTB6ZaOw/dO+CYSfVtqxVJccy832e6+7rW/dvSw5Jy7rsNhgcKSKjZq86LtNkPSvritOLA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-8.2.0.tgz", + "integrity": "sha512-C4BfE3eVsjOAqoXbdrPXfKbgp/hz2H7mKBU0p11Jf9uz+5gUCfZK+39JLrQKvRXwqoDcTlBSfz9Xz5kXLyHg2Q==", "dev": true, + "license": "MIT", "dependencies": { - "@bugsnag/core": "^7.25.0" + "@bugsnag/core": "^8.2.0" } }, "node_modules/netlify-cli/node_modules/@bugsnag/core": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-7.25.0.tgz", - "integrity": "sha512-JZLak1b5BVzy77CPcklViZrppac/pE07L3uSDmfSvFYSCGReXkik2txOgV05VlF9EDe36dtUAIIV7iAPDfFpQQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-8.2.0.tgz", + "integrity": "sha512-dFSs80ZwJ508nlC6UTLTUMdHgTaHY5UKvMiuHqstCQrQrOjqFcIv+x4o+l2WrSyOpoYhHAxDlKfzKN8AjwslQw==", "dev": true, + "license": "MIT", "dependencies": { "@bugsnag/cuid": "^3.0.0", "@bugsnag/safe-json-stringify": "^6.0.0", "error-stack-parser": "^2.0.3", - "iserror": "0.0.2", + "iserror": "^0.0.2", "stack-generator": "^2.0.3" } }, @@ -20223,24 +23344,26 @@ "dev": true }, "node_modules/netlify-cli/node_modules/@bugsnag/js": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-7.25.0.tgz", - "integrity": "sha512-d8n8SyKdRUz8jMacRW1j/Sj/ckhKbIEp49+Dacp3CS8afRgfMZ//NXhUFFXITsDP5cXouaejR9fx4XVapYXNgg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-8.2.0.tgz", + "integrity": "sha512-DTtQwV1Ly5VXSOnVtzW8gSwB+ld3qIc/h0yMS836DEYUfA3V9JPwJE3+2EbD8Ea2ogkDWZ+a0jl0SNSNGiOmfA==", "dev": true, + "license": "MIT", "dependencies": { - "@bugsnag/browser": "^7.25.0", - "@bugsnag/node": "^7.25.0" + "@bugsnag/browser": "^8.2.0", + "@bugsnag/node": "^8.2.0" } }, "node_modules/netlify-cli/node_modules/@bugsnag/node": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-7.25.0.tgz", - "integrity": "sha512-KlxBaJ8EREEsfKInybAjTO9LmdDXV3cUH5+XNXyqUZrcRVuPOu4j4xvljh+n24ifok/wbFZTKVXUzrN4iKIeIA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-8.2.0.tgz", + "integrity": "sha512-6XC/KgX61m6YFgsBQP/GaH1UzlJkJmpi3AwlZQLsXloRh3O9lM/0EIk6+2sZm+vlz+GwxCFavcuIDgVmH/qi7Q==", "dev": true, + "license": "MIT", "dependencies": { - "@bugsnag/core": "^7.25.0", + "@bugsnag/core": "^8.2.0", "byline": "^5.0.0", - "error-stack-parser": "^2.0.2", + "error-stack-parser": "^2.0.3", "iserror": "^0.0.2", "pump": "^3.0.0", "stack-generator": "^2.0.3" @@ -20285,384 +23408,460 @@ } }, "node_modules/netlify-cli/node_modules/@dependents/detective-less": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-4.1.0.tgz", - "integrity": "sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", + "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, + "node_modules/netlify-cli/node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", + "dev": true, + "dependencies": { + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@envelop/instrumentation/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/netlify-cli/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/netlify-cli/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@fastify/accept-negotiator": { @@ -20686,27 +23885,49 @@ } }, "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, + "node_modules/netlify-cli/node_modules/@fastify/busboy": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz", + "integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==", + "dev": true + }, "node_modules/netlify-cli/node_modules/@fastify/error": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", @@ -20795,66 +24016,12 @@ "glob": "^10.3.4" } }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static/node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/netlify-cli/node_modules/@humanwhocodes/momoa": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.10.0" } @@ -20866,16 +24033,18 @@ "dev": true }, "node_modules/netlify-cli/node_modules/@import-maps/resolve": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-1.0.1.tgz", - "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-2.0.0.tgz", + "integrity": "sha512-RwzRTpmrrS6Q1ZhQExwuxJGK1Wqhv4stt+OF2JzS+uawewpwNyU7EJL1WpBex7aDiiGLs4FsXGkfUBdYuX7xiQ==", "dev": true }, "node_modules/netlify-cli/node_modules/@ioredis/commands": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/netlify-cli/node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -20934,90 +24103,16 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "minipass": "^7.0.4" }, "engines": { - "node": ">=8" + "node": ">=18.0.0" } }, "node_modules/netlify-cli/node_modules/@jridgewell/resolve-uri": { @@ -21030,10 +24125,11 @@ } }, "node_modules/netlify-cli/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", @@ -21055,36 +24151,24 @@ } }, "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-2.0.0.tgz", + "integrity": "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==", "dev": true, "dependencies": { + "consola": "^3.2.3", "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", + "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" + "nopt": "^8.0.0", + "semver": "^7.5.3", + "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { @@ -21107,6 +24191,24 @@ } } }, + "node_modules/netlify-cli/node_modules/@netlify/api": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-14.0.3.tgz", + "integrity": "sha512-iFYqSYBnn34Fx3eVOH7sG52f/xcyB9or2yjn486d3ZqLk6OJGFZstxjY4LfTv8chCT1HeSVybIvnCqsHsvrzJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + }, + "engines": { + "node": ">=18.14.0" + } + }, "node_modules/netlify-cli/node_modules/@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -21114,87 +24216,88 @@ "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/blobs": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-8.0.1.tgz", - "integrity": "sha512-IrZHVqillU0x12eDbsap4Ba6poi+4IdVCYjZa+tA0eD95TaSbSqfw1zNkO27MiKw0pOjPB6+RXFK4pdfOs/qUQ==", + "version": "9.1.6", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.6.tgz", + "integrity": "sha512-RR3t5fv7CkGVJiylOTLf/YaHPyrcWmhHW3zX3EK/9UQsnTi8jPxP7B2nyjgRjAx5S4YTzJQP+FmbQlGKdogALQ==", "dev": true, + "dependencies": { + "@netlify/dev-utils": "3.2.0", + "@netlify/runtime-utils": "2.1.0" + }, "engines": { "node": "^14.16.0 || >=16.0.0" } }, "node_modules/netlify-cli/node_modules/@netlify/build": { - "version": "29.55.2", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.55.2.tgz", - "integrity": "sha512-sXWDIeKtRWc6S9+dG3lCdTSNSB9XfhNFk80kG600sI3ytkhF5rPk6ijJw4Y7drhruCrYFpsDwlPxGY9kBjshBw==", - "dev": true, - "dependencies": { - "@bugsnag/js": "^7.0.0", - "@netlify/blobs": "^7.4.0", - "@netlify/cache-utils": "^5.1.6", - "@netlify/config": "^20.19.0", - "@netlify/edge-bundler": "12.2.3", - "@netlify/framework-info": "^9.8.13", - "@netlify/functions-utils": "^5.2.91", - "@netlify/git-utils": "^5.1.1", - "@netlify/opentelemetry-utils": "^1.2.1", + "version": "33.5.0", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-33.5.0.tgz", + "integrity": "sha512-v/oMAl8WntSAKRNkOauMJ9h93MuG/Axw0S8dQKRVe2eANb6OZqq/t4r2tSsEZplNkZNKP0D8vG7TpsN4ZtWwGw==", + "dev": true, + "dependencies": { + "@bugsnag/js": "^8.0.0", + "@netlify/blobs": "^10.0.1", + "@netlify/cache-utils": "^6.0.3", + "@netlify/config": "^23.0.11", + "@netlify/edge-bundler": "14.0.6", + "@netlify/functions-utils": "^6.0.12", + "@netlify/git-utils": "^6.0.2", + "@netlify/opentelemetry-utils": "^2.0.1", "@netlify/plugins-list": "^6.80.0", - "@netlify/run-utils": "^5.1.1", - "@netlify/zip-it-and-ship-it": "9.40.2", + "@netlify/run-utils": "^6.0.2", + "@netlify/zip-it-and-ship-it": "12.2.0", "@sindresorhus/slugify": "^2.0.0", - "ansi-escapes": "^6.0.0", + "ansi-escapes": "^7.0.0", "chalk": "^5.0.0", - "clean-stack": "^4.0.0", - "execa": "^6.0.0", + "clean-stack": "^5.0.0", + "execa": "^8.0.0", "fdir": "^6.0.1", - "figures": "^5.0.0", - "filter-obj": "^5.0.0", - "got": "^12.0.0", - "hot-shots": "10.1.1", + "figures": "^6.0.0", + "filter-obj": "^6.0.0", + "hot-shots": "10.2.1", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", - "js-yaml": "^4.0.0", - "keep-func-props": "^4.0.0", + "keep-func-props": "^6.0.0", "locate-path": "^7.0.0", - "log-process-errors": "^8.0.0", + "log-process-errors": "^11.0.0", "map-obj": "^5.0.0", "memoize-one": "^6.0.0", "minimatch": "^9.0.4", - "node-fetch": "^3.3.2", - "os-name": "^5.0.0", - "p-event": "^5.0.0", + "os-name": "^6.0.0", + "p-event": "^6.0.0", "p-every": "^2.0.0", - "p-filter": "^3.0.0", + "p-filter": "^4.0.0", "p-locate": "^6.0.0", - "p-map": "^6.0.0", + "p-map": "^7.0.0", "p-reduce": "^3.0.0", + "package-directory": "^8.0.0", "path-exists": "^5.0.0", - "path-type": "^5.0.0", - "pkg-dir": "^7.0.0", - "pretty-ms": "^8.0.0", + "path-type": "^6.0.0", + "pretty-ms": "^9.0.0", "ps-list": "^8.0.0", "read-package-up": "^11.0.0", - "readdirp": "^3.4.0", - "resolve": "^2.0.0-next.1", + "readdirp": "^4.0.0", + "resolve": "^2.0.0-next.5", "rfdc": "^1.3.0", "safe-json-stringify": "^1.2.0", "semver": "^7.3.8", - "string-width": "^5.0.0", + "string-width": "^7.0.0", "strip-ansi": "^7.0.0", - "supports-color": "^9.0.0", - "terminal-link": "^3.0.0", + "supports-color": "^10.0.0", + "terminal-link": "^4.0.0", "ts-node": "^10.9.1", "typescript": "^5.0.0", - "uuid": "^9.0.0", + "uuid": "^11.0.0", + "yaml": "^2.8.0", "yargs": "^17.6.0" }, "bin": { "netlify-build": "bin.js" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" }, "peerDependencies": { - "@netlify/opentelemetry-sdk-setup": "^1.1.0", + "@netlify/opentelemetry-sdk-setup": "^2.0.0", "@opentelemetry/api": "~1.8.0" }, "peerDependenciesMeta": { @@ -21204,68 +24307,37 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/build-info": { - "version": "7.15.1", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.15.1.tgz", - "integrity": "sha512-4Z7JmoRA/biWnUhua2qsnSje9rXSEQJuX5v2+P8HIcsneNnKEnBqZry/Bct+EzL2+zyJ3DFRjHJB3n9tallg9g==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-10.0.7.tgz", + "integrity": "sha512-RZmSg0wekEUtPklRR8z6rsG5TPXRfT2EnamDBp94ZTUixDxDk07UCMBiz2hMKMg3qA6KTW6csuFNruvD3jw5Kw==", "dev": true, "dependencies": { - "@bugsnag/js": "^7.20.0", + "@bugsnag/js": "^8.0.0", "@iarna/toml": "^2.2.5", - "dot-prop": "^7.2.0", - "find-up": "^6.3.0", + "dot-prop": "^9.0.0", + "find-up": "^7.0.0", "minimatch": "^9.0.0", - "read-pkg": "^7.1.0", + "read-pkg": "^9.0.0", "semver": "^7.3.8", - "yaml": "^2.1.3", + "yaml": "^2.8.0", "yargs": "^17.6.0" }, "bin": { "build-info": "bin.js" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/build-info/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dev": true, - "dependencies": { - "type-fest": "^2.11.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -21281,167 +24353,116 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/blobs": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-10.0.2.tgz", + "integrity": "sha512-KGw91EKZ997MdK/HkjwgzZi1ni4B3XwYjrwnUoCb5E3JYt/P7aVYZ1O8G39VwVnaggyemd99TOnEkNaI9iPJiw==", "dev": true, "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" + "@netlify/dev-utils": "3.2.1", + "@netlify/runtime-utils": "2.1.0" }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build-info/node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/blobs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-7.4.0.tgz", - "integrity": "sha512-7rdPzo8bggt3D2CVO+U1rmEtxxs8X7cLusDbHZRJaMlxqxBD05mXgThj5DUJMFOvmfVjhEH/S/3AyiLUbDQGDg==", - "dev": true, "engines": { "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/dev-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.1.tgz", + "integrity": "sha512-a96wZheD3duD20aEJXBIui73GewRIcKwsXyzyFyerrsDffQjaWFuWxU9fnVSiunl6UVrvpBjWMJRGkCv4zf2KQ==", "dev": true, - "engines": { - "node": ">=14.16" + "dependencies": { + "@whatwg-node/server": "^0.10.0", + "ansis": "^4.1.0", + "chokidar": "^4.0.1", + "decache": "^4.6.2", + "dot-prop": "9.0.0", + "env-paths": "^3.0.0", + "find-up": "7.0.0", + "image-size": "^2.0.2", + "js-image-generator": "^1.0.4", + "lodash.debounce": "^4.0.8", + "parse-gitignore": "^2.0.0", + "semver": "^7.7.2", + "uuid": "^11.1.0", + "write-file-atomic": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.14.0 || >=20" } }, "node_modules/netlify-cli/node_modules/@netlify/build/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, + "dependencies": { + "readdirp": "^4.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 14.16.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://paulmillr.com/funding/" } }, + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/indent-string": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/is-stream": { @@ -21456,18 +24477,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -21513,31 +24522,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", - "dev": true, - "dependencies": { - "p-map": "^5.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-filter/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", "dev": true, "dependencies": { - "aggregate-error": "^4.0.0" + "p-timeout": "^6.1.2" }, "engines": { - "node": ">=12" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -21573,18 +24567,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/p-map": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", - "integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/path-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", @@ -21594,45 +24576,42 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "engines": { - "node": ">=12" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, "engines": { - "node": ">=14.16" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -21651,9 +24630,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "engines": { "node": ">=12.20" @@ -21663,38 +24642,35 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/cache-utils": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-5.1.6.tgz", - "integrity": "sha512-0K1+5umxENy9H3CC+v5qGQbeTmKv/PBAhOxPKK6GPykOVa7OxT26KGMU7Jozo6pVNeLPJUvCCMw48ycwtQ1fvw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-6.0.3.tgz", + "integrity": "sha512-NGkTvsVWs8gbd/wKOQnGjjxtaeTS+2UbqF/eZ5A/hFCXMNWf6xMQ7BcBM+pWLojHJWg/o8P1VgCZ1FDa8Zni4w==", "dev": true, "dependencies": { - "cpy": "^9.0.0", - "get-stream": "^6.0.0", - "globby": "^13.0.0", + "cpy": "^11.0.0", + "get-stream": "^9.0.0", + "globby": "^14.0.0", "junk": "^4.0.0", "locate-path": "^7.0.0", "move-file": "^3.0.0", "path-exists": "^5.0.0", - "readdirp": "^3.4.0" + "readdirp": "^4.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -21709,157 +24685,85 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/cache-utils/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/config": { - "version": "20.19.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-20.19.0.tgz", - "integrity": "sha512-vkqTQ7jaudPSRME6ZzYml6qRWxIJXnUQ8csqOSx5Yv0ysj1zb2l+Ke3c5bc6Cttkg4ay2YLx4M0/7n6nT3KojQ==", + "version": "23.0.11", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.11.tgz", + "integrity": "sha512-x104BMKAUpC5XvTtMNSHpPt+pN/Cnkv2AqRYqqOICeurXt/mt8D+PQCOZhbOAYlThBa7TaZ5uq7VMJGQVTRDJA==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^14.0.3", + "@netlify/headers-parser": "^9.0.1", + "@netlify/redirect-parser": "^15.0.2", "chalk": "^5.0.0", "cron-parser": "^4.1.0", "deepmerge": "^4.2.2", - "dot-prop": "^7.0.0", - "execa": "^6.0.0", + "dot-prop": "^9.0.0", + "execa": "^8.0.0", "fast-safe-stringify": "^2.0.7", - "figures": "^5.0.0", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", + "figures": "^6.0.0", + "filter-obj": "^6.0.0", + "find-up": "^7.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", - "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.1.21", - "netlify-headers-parser": "^7.1.4", - "netlify-redirect-parser": "^14.3.0", - "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", - "path-type": "^5.0.0", + "path-type": "^6.0.0", "tomlify-j0.4": "^3.0.0", - "validate-npm-package-name": "^4.0.0", + "validate-npm-package-name": "^5.0.0", + "yaml": "^2.8.0", "yargs": "^17.6.0" }, "bin": { "netlify-config": "bin.js" }, "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dev": true, - "dependencies": { - "type-fest": "^2.11.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/indent-string": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/is-stream": { @@ -21874,18 +24778,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", @@ -21946,25 +24838,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/strip-final-newline": { @@ -21980,9 +24863,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/config/node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "engines": { "node": ">=12.20" @@ -21991,406 +24874,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/@netlify/dev-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.0.tgz", + "integrity": "sha512-5QPVts2j7RHMNVPVB7E28TC564TarS2JDTfMzKGzCrAY35bvOcfJ60Hhp8DOVjI13+BJgN37srUJP4OBDIXCfg==", + "dev": true, + "dependencies": { + "@whatwg-node/server": "^0.10.0", + "ansis": "^4.1.0", + "chokidar": "^4.0.1", + "decache": "^4.6.2", + "dot-prop": "9.0.0", + "env-paths": "^3.0.0", + "find-up": "7.0.0", + "image-size": "^2.0.2", + "js-image-generator": "^1.0.4", + "lodash.debounce": "^4.0.8", + "parse-gitignore": "^2.0.0", + "uuid": "^11.1.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || >=20" + } + }, + "node_modules/netlify-cli/node_modules/@netlify/dev-utils/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-12.2.3.tgz", - "integrity": "sha512-o/Od4gvGT2qPSjJ1TSh8KYDJHfzxW4iemA5DiZtXIDgaIvWgvehZKDROp9wJ2FseP2F83y4ZDmt5xFfBSD9IYQ==", + "version": "14.0.6", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-14.0.6.tgz", + "integrity": "sha512-wfIS26778TG34C3Ma4vhYVTviUuZMD1cWVW/G3m9qZ4MPqC3xII66mmJOdHSfBhwXNeu8tt/b3YoFO0b/nJO0Q==", "dev": true, + "license": "MIT", "dependencies": { - "@import-maps/resolve": "^1.0.1", - "@vercel/nft": "^0.27.0", + "@import-maps/resolve": "^2.0.0", "ajv": "^8.11.2", "ajv-errors": "^3.0.0", "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.21.2", - "execa": "^6.0.0", - "find-up": "^6.3.0", + "esbuild": "0.25.5", + "execa": "^8.0.0", + "find-up": "^7.0.0", "get-package-name": "^2.2.0", - "get-port": "^6.1.2", + "get-port": "^7.0.0", "is-path-inside": "^4.0.0", - "jsonc-parser": "^3.2.0", - "node-fetch": "^3.1.1", "node-stream-zip": "^1.15.0", - "p-retry": "^5.1.1", - "p-wait-for": "^4.1.0", + "p-retry": "^6.0.0", + "p-wait-for": "^5.0.0", + "parse-imports": "^2.2.1", "path-key": "^4.0.0", "semver": "^7.3.8", "tmp-promise": "^3.0.3", "urlpattern-polyfill": "8.0.2", - "uuid": "^9.0.0" + "uuid": "^11.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.2.tgz", - "integrity": "sha512-/c7hocx0pm14bHQlqUVKmxwdT/e5/KkyoY1W8F9lk/8CkE037STDDz8PXUP/LE6faj2HqchvDs9GcShxFhI78Q==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-arm": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.2.tgz", - "integrity": "sha512-G1ve3b4FeyJeyCjB4MX1CiWyTaIJwT9wAYE+8+IRA53YoN/reC/Bf2GDRXAzDTnh69Fpl+1uIKg76DiB3U6vwQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.2.tgz", - "integrity": "sha512-SGZKngoTWVUriO5bDjI4WDGsNx2VKZoXcds+ita/kVYB+8IkSCKDRDaK+5yu0b5S0eq6B3S7fpiEvpsa2ammlQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/android-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.2.tgz", - "integrity": "sha512-1wzzNoj2QtNkAYwIcWJ66UTRA80+RTQ/kuPMtEuP0X6dp5Ar23Dn566q3aV61h4EYrrgGlOgl/HdcqN/2S/2vg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.2.tgz", - "integrity": "sha512-ZyMkPWc5eTROcLOA10lEqdDSTc6ds6nuh3DeHgKip/XJrYjZDfnkCVSty8svWdy+SC1f77ULtVeIqymTzaB6/Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/darwin-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.2.tgz", - "integrity": "sha512-K4ZdVq1zP9v51h/cKVna7im7G0zGTKKB6bP2yJiSmHjjOykbd8DdhrSi8V978sF69rkwrn8zCyL2t6I3ei6j9A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.2.tgz", - "integrity": "sha512-4kbOGdpA61CXqadD+Gb/Pw3YXamQGiz9mal/h93rFVSjr5cgMnmJd/gbfPRm+3BMifvnaOfS1gNWaIDxkE2A3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.2.tgz", - "integrity": "sha512-ShS+R09nuHzDBfPeMUliKZX27Wrmr8UFp93aFf/S8p+++x5BZ+D344CLKXxmY6qzgTL3mILSImPCNJOzD6+RRg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-arm": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.2.tgz", - "integrity": "sha512-nnGXjOAv+7cM3LYRx4tJsYdgy8dGDGkAzF06oIDGppWbUkUKN9SmgQA8H0KukpU0Pjrj9XmgbWqMVSX/U7eeTA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.2.tgz", - "integrity": "sha512-Hdu8BL+AmO+eCDvvT6kz/fPQhvuHL8YK4ExKZfANWsNe1kFGOHw7VJvS/FKSLFqheXmB3rTF3xFQIgUWPYsGnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-ia32": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.2.tgz", - "integrity": "sha512-m73BOCW2V9lcj7RtEMi+gBfHC6n3+VHpwQXP5offtQMPLDkpVolYn1YGXxOZ9hp4h3UPRKuezL7WkBsw+3EB3Q==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-loong64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.2.tgz", - "integrity": "sha512-84eYHwwWHq3myIY/6ikALMcnwkf6Qo7NIq++xH0x+cJuUNpdwh8mlpUtRY+JiGUc60yu7ElWBbVHGWTABTclGw==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.2.tgz", - "integrity": "sha512-9siSZngT0/ZKG+AH+/agwKF29LdCxw4ODi/PiE0F52B2rtLozlDP92umf8G2GPoVV611LN4pZ+nSTckebOscUA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.2.tgz", - "integrity": "sha512-y0T4aV2CA+ic04ULya1A/8M2RDpDSK2ckgTj6jzHKFJvCq0jQg8afQQIn4EM0G8u2neyOiNHgSF9YKPfuqKOVw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.2.tgz", - "integrity": "sha512-x5ssCdXmZC86L2Li1qQPF/VaC4VP20u/Zm8jlAu9IiVOVi79YsSz6cpPDYZl1rfKSHYCJW9XBfFCo66S5gVPSA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-s390x": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.2.tgz", - "integrity": "sha512-NP7fTpGSFWdXyvp8iAFU04uFh9ARoplFVM/m+8lTRpaYG+2ytHPZWyscSsMM6cvObSIK2KoPHXiZD4l99WaxbQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/linux-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.2.tgz", - "integrity": "sha512-giZ/uOxWDKda44ZuyfKbykeXznfuVNkTgXOUOPJIjbayJV6FRpQ4zxUy9JMBPLaK9IJcdWtaoeQrYBMh3Rr4vQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.2.tgz", - "integrity": "sha512-IeFMfGFSQfIj1d4XU+6lkbFzMR+mFELUUVYrZ+jvWzG4NGvs6o53ReEHLHpYkjRbdEjJy2W3lTekTxrFHW7YJg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.2.tgz", - "integrity": "sha512-48QhWD6WxcebNNaE4FCwgvQVUnAycuTd+BdvA/oZu+/MmbpU8pY2dMEYlYzj5uNHWIG5jvdDmFXu0naQeOWUoA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/sunos-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.2.tgz", - "integrity": "sha512-90r3nTBLgdIgD4FCVV9+cR6Hq2Dzs319icVsln+NTmTVwffWcCqXGml8rAoocHuJ85kZK36DCteii96ba/PX8g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-arm64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.2.tgz", - "integrity": "sha512-sNndlsBT8OeE/MZDSGpRDJlWuhjuUz/dn80nH0EP4ZzDUYvMDVa7G87DVpweBrn4xdJYyXS/y4CQNrf7R2ODXg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-ia32": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.2.tgz", - "integrity": "sha512-Ti2QChGNFzWhUNNVuU4w21YkYTErsNh3h+CzvlEhzgRbwsJ7TrWQqRzW3bllLKKvTppuF3DJ3XP1GEg11AfrEQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/@esbuild/win32-x64": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.2.tgz", - "integrity": "sha512-VEfTCZicoZnZ6sGkjFPGRFFJuL2fZn2bLhsekZl1CJslflp2cJS/VoKs1jMk+3pDfsGW6CfQVUckP707HwbXeQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/ajv": { @@ -22418,108 +24971,76 @@ "ajv": "^8.0.1" } }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/esbuild": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.2.tgz", - "integrity": "sha512-LmHPAa5h4tSxz+g/D8IHY6wCjtIiFx8I7/Q0Aq+NmvtoYvyMnJU0KQJcqB6QH30X9x/W4CemgUtPgQDZFca5SA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.2", - "@esbuild/android-arm": "0.21.2", - "@esbuild/android-arm64": "0.21.2", - "@esbuild/android-x64": "0.21.2", - "@esbuild/darwin-arm64": "0.21.2", - "@esbuild/darwin-x64": "0.21.2", - "@esbuild/freebsd-arm64": "0.21.2", - "@esbuild/freebsd-x64": "0.21.2", - "@esbuild/linux-arm": "0.21.2", - "@esbuild/linux-arm64": "0.21.2", - "@esbuild/linux-ia32": "0.21.2", - "@esbuild/linux-loong64": "0.21.2", - "@esbuild/linux-mips64el": "0.21.2", - "@esbuild/linux-ppc64": "0.21.2", - "@esbuild/linux-riscv64": "0.21.2", - "@esbuild/linux-s390x": "0.21.2", - "@esbuild/linux-x64": "0.21.2", - "@esbuild/netbsd-x64": "0.21.2", - "@esbuild/openbsd-x64": "0.21.2", - "@esbuild/sunos-x64": "0.21.2", - "@esbuild/win32-arm64": "0.21.2", - "@esbuild/win32-ia32": "0.21.2", - "@esbuild/win32-x64": "0.21.2" - } - }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dev": true + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/get-port": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/get-port": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", - "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", + "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12.20.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/is-stream": { @@ -22570,40 +25091,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/p-wait-for": { + "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-4.1.0.tgz", - "integrity": "sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "p-timeout": "^5.0.0" - }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/strip-final-newline": { @@ -22619,163 +25116,104 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-functions": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.9.0.tgz", - "integrity": "sha512-W1kdwLpvUlhfI2FTOe6SEcoobW7Fw+Vm9WN5Gwb5lTCG6QXBE3gpCZk+NVQ4p/XoOcXYwWAS5pfOTMKUoYNQnA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info": { - "version": "9.8.13", - "resolved": "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-9.8.13.tgz", - "integrity": "sha512-ZZXCggokY/y5Sz93XYbl/Lig1UAUSWPMBiQRpkVfbrrkjmW2ZPkYS/BgrM2/MxwXRvYhc/TQpZX6y5JPe3quQg==", - "dev": true, - "dependencies": { - "ajv": "^8.12.0", - "filter-obj": "^5.0.0", - "find-up": "^6.3.0", - "is-plain-obj": "^4.0.0", - "locate-path": "^7.0.0", - "p-filter": "^3.0.0", - "p-locate": "^6.0.0", - "process": "^0.11.10", - "read-pkg-up": "^9.1.0", - "semver": "^7.3.8" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "version": "2.15.5", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.15.5.tgz", + "integrity": "sha512-hm4NnhmDxwICuuaO2mw9HS1T3Pd2TEFU+xIItG09534vYddvCQ/6fAjT3LQQoyCWreEBUYvYn7Ml7kV4mMFb0w==", "dev": true, "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "@netlify/dev-utils": "3.2.2", + "@netlify/edge-bundler": "^14.0.6", + "@netlify/edge-functions-bootstrap": "^2.14.0", + "@netlify/runtime-utils": "2.1.0", + "get-port": "^7.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/netlify-cli/node_modules/@netlify/edge-functions-bootstrap": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions-bootstrap/-/edge-functions-bootstrap-2.14.0.tgz", + "integrity": "sha512-Fs1cQ+XKfKr2OxrAvmX+S46CJmrysxBdCUCTk/wwcCZikrDvsYUFG7FTquUl4JfAf9taYYyW/tPv35gKOKS8BQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", + "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/@netlify/dev-utils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.2.tgz", + "integrity": "sha512-ECz/xEaqhAPUoFkeC2Ofpky1HBEKwPCsAL66iK/dLFHUFs39SC3y6Bn5QY76DzONmt+RjWmoYkSIEhJ1xAWHfA==", "dev": true, "dependencies": { - "p-map": "^5.1.0" + "@whatwg-node/server": "^0.10.0", + "ansis": "^4.1.0", + "chokidar": "^4.0.1", + "decache": "^4.6.2", + "dot-prop": "9.0.0", + "env-paths": "^3.0.0", + "find-up": "7.0.0", + "image-size": "^2.0.2", + "js-image-generator": "^1.0.4", + "lodash.debounce": "^4.0.8", + "parse-gitignore": "^2.0.0", + "semver": "^7.7.2", + "tmp-promise": "^3.0.3", + "uuid": "^11.1.0", + "write-file-atomic": "^5.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || >=20" } }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "dependencies": { - "yocto-queue": "^1.0.0" + "readdirp": "^4.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 14.16.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/get-port": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/framework-info/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, "node_modules/netlify-cli/node_modules/@netlify/functions-utils": { - "version": "5.2.91", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.2.91.tgz", - "integrity": "sha512-PezRTuKzKzIbWu71tykioHS7W2Tk4wiGZqkkYzm92FeLRlubRERC9Dwv3Y5LFFNQsWXs701l7CVTojHrpSiA0w==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-6.0.12.tgz", + "integrity": "sha512-wo3IdsyQBz9t3BsUo2c8Sa3tS7pZvZeyt/krDRB/Iipcq3pheUA5jwwelkh0aoKD3rkBhY5Y/jnhMyqmilpGig==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "9.40.2", - "cpy": "^9.0.0", + "@netlify/zip-it-and-ship-it": "12.2.0", + "cpy": "^11.0.0", "path-exists": "^5.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/functions-utils/node_modules/path-exists": { @@ -22783,56 +25221,69 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/netlify-cli/node_modules/@netlify/git-utils": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-5.1.1.tgz", - "integrity": "sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-6.0.2.tgz", + "integrity": "sha512-ASp8T6ZAxL5OE0xvTTn5+tIBua5F8ruLH7oYtI/m2W/8rYb9V3qvNeenf9SnKlGj1xv6mPv8l7Tc93kmBLLofw==", "dev": true, "dependencies": { - "execa": "^6.0.0", + "execa": "^8.0.0", "map-obj": "^5.0.0", "micromatch": "^4.0.2", "moize": "^6.1.3", "path-exists": "^5.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12.20.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/is-stream": { @@ -22847,22 +25298,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { "path-key": "^4.0.0" @@ -22898,6 +25337,18 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/netlify-cli/node_modules/@netlify/git-utils/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -22910,11 +25361,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/@netlify/headers-parser": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-9.0.1.tgz", + "integrity": "sha512-KHKNVNtzWUkUQhttHsLA217xIjUQxBOY5RCMRkR77G5pH1Sca9gqGhnMvk3KfRol/OZK2/1k83ZpYuvMswsK/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iarna/toml": "^2.2.5", + "escape-string-regexp": "^5.0.0", + "fast-safe-stringify": "^2.0.7", + "is-plain-obj": "^4.0.0", + "map-obj": "^5.0.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": ">=18.14.0" + } + }, + "node_modules/netlify-cli/node_modules/@netlify/headers-parser/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/@netlify/headers-parser/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/netlify-cli/node_modules/@netlify/local-functions-proxy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy/-/local-functions-proxy-1.1.1.tgz", - "integrity": "sha512-eXSsayLT6PMvjzFQpjC9nkg2Otc3lZ5GoYele9M6f8PmsvWpaXRhwjNQ0NYhQQ2UZbLMIiO2dH8dbRsT3bMkFw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@netlify/local-functions-proxy/-/local-functions-proxy-2.0.3.tgz", + "integrity": "sha512-siVwmrp7Ow+7jLALi6jXOja4Y4uHMMgOLLQMgd+OZ1TESOstrJvkUisJEDAc9hx7u0v/B0mh5g1g1huiH3uS3A==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.14.0" + }, "optionalDependencies": { "@netlify/local-functions-proxy-darwin-arm64": "1.1.1", "@netlify/local-functions-proxy-darwin-x64": "1.1.1", @@ -23122,31 +25616,22 @@ "local-functions-proxy.exe": "bin/local-functions-proxy.exe" } }, - "node_modules/netlify-cli/node_modules/@netlify/node-cookies": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", - "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", - "dev": true, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/@netlify/open-api": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.34.0.tgz", - "integrity": "sha512-C4v7Od/vnGgZ1P4JK3Fn9uUi9HkTxeUqUtj4OLnGD+rGyaVrl4JY89xMCoVksijDtO8XylYFU59CSTnQNeNw7g==", + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.37.0.tgz", + "integrity": "sha512-zXnRFkxgNsalSgU8/vwTWnav3R+8KG8SsqHxqaoJdjjJtnZR7wo3f+qqu4z+WtZ/4V7fly91HFUwZ6Uz2OdW7w==", "dev": true, "engines": { - "node": ">=14" + "node": ">=14.8.0" } }, "node_modules/netlify-cli/node_modules/@netlify/opentelemetry-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.2.1.tgz", - "integrity": "sha512-A6nQBvUn/avHQopLOOjX8rY2eua//jufbx4NZZODACEHtfXAEmOjCoDe2m+cQPRq+jNa98nvCy/sJh2RwuCQog==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@netlify/opentelemetry-utils/-/opentelemetry-utils-2.0.1.tgz", + "integrity": "sha512-SE9dZZR620yTYky8By/8h+UaTMugxue8oL51aRUrvtDg7y8Ed6fYKC8VY5JExCkLWQ1k3874qktwfc5gdMVx+w==", "dev": true, "engines": { - "node": ">=18.0.0" + "node": ">=18.14.0" }, "peerDependencies": { "@opentelemetry/api": "~1.8.0" @@ -23161,48 +25646,86 @@ "node": "^14.14.0 || >=16.0.0" } }, + "node_modules/netlify-cli/node_modules/@netlify/redirect-parser": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-15.0.2.tgz", + "integrity": "sha512-zS6qBHpmU7IpHGzrHNPqu+Tjvh1cAJuVEoFUvCp0lRUeNcTdIq9VZM7/34vtIN6MD/OMFg3uv80yefSqInV2nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iarna/toml": "^2.2.5", + "fast-safe-stringify": "^2.1.1", + "filter-obj": "^6.0.0", + "is-plain-obj": "^4.0.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": ">=18.14.0" + } + }, + "node_modules/netlify-cli/node_modules/@netlify/redirect-parser/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/netlify-cli/node_modules/@netlify/run-utils": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-5.1.1.tgz", - "integrity": "sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-6.0.2.tgz", + "integrity": "sha512-62K++LDoPqcR1hTnOL2JhuAfY0LMgQ6MgW89DehPplKLbKaEXQH1K1+hUDvgKsn68ofTpE1CTq30PGZQo8fVxw==", "dev": true, "dependencies": { - "execa": "^6.0.0" + "execa": "^8.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12.20.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/is-stream": { @@ -23218,9 +25741,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { "path-key": "^4.0.0" @@ -23247,6 +25770,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/netlify-cli/node_modules/@netlify/run-utils/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -23259,27 +25794,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/@netlify/runtime-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-2.1.0.tgz", + "integrity": "sha512-z1h+wjB7IVYUsFZsuIYyNxiw5WWuylseY+eXaUDHBxNeLTlqziy+lz03QkR67CUR4Y790xGIhaHV00aOR2KAtw==", + "dev": true, + "engines": { + "node": "^18.14.0 || >=20" + } + }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it": { - "version": "9.40.2", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.40.2.tgz", - "integrity": "sha512-CkAwLnqFqhV9hNJO8HxMjd+g2HYtGevjo4gP1P84Sf50HBFyBE2cavfXNaBa1TfNq5/92CixnXz4YptU1DIOOw==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-12.2.0.tgz", + "integrity": "sha512-64tKrE4bGGh/uChrCKQ1g6rDmY+Jl95bh+GGeP1mzIOcXmZHFja8sWMyaKv8iOxIiPdaJCQuhadSmE4ATUDVFg==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", - "@babel/types": "7.25.6", + "@babel/types": "7.27.6", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.30.1", - "@vercel/nft": "^0.27.1", + "@netlify/serverless-functions-api": "^2.1.2", + "@vercel/nft": "0.29.4", "archiver": "^7.0.0", "common-path-prefix": "^3.0.0", - "cp-file": "^10.0.0", + "copy-file": "^11.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", - "execa": "^6.0.0", - "fast-glob": "^3.3.2", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", - "glob": "^8.0.3", + "esbuild": "0.25.5", + "execa": "^8.0.0", + "fast-glob": "^3.3.3", + "filter-obj": "^6.0.0", + "find-up": "^7.0.0", "is-builtin-module": "^3.1.0", "is-path-inside": "^4.0.0", "junk": "^4.0.0", @@ -23287,9 +25830,9 @@ "merge-options": "^3.0.4", "minimatch": "^9.0.0", "normalize-path": "^3.0.0", - "p-map": "^5.0.0", + "p-map": "^7.0.0", "path-exists": "^5.0.0", - "precinct": "^11.0.0", + "precinct": "^12.0.0", "require-package-name": "^2.0.1", "resolve": "^2.0.0-next.1", "semver": "^7.3.8", @@ -23304,109 +25847,69 @@ "zip-it-and-ship-it": "bin.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.30.1.tgz", - "integrity": "sha512-JkbaWFeydQdeDHz1mAy4rw+E3bl9YtbCgkntfTxq+IlNX/aIMv2/b1kZnQZcil4/sPoZGL831Dq6E374qRpU1A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-2.1.2.tgz", + "integrity": "sha512-uEFA0LAcBGd3+fgDSLkTTsrgyooKqu8mN/qA+F/COS2A7NFWRcLFnjVKH/xZhxq+oQkrSa+XPS9qj2wgQosiQw==", "dev": true, - "dependencies": { - "@netlify/node-cookies": "^0.1.0", - "urlpattern-polyfill": "8.0.2" - }, "engines": { "node": ">=18.0.0" } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=12.20.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/is-stream": { @@ -23466,21 +25969,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dev": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/path-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", @@ -23490,6 +25978,18 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -23538,158 +26038,175 @@ } }, "node_modules/netlify-cli/node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", + "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", "dev": true, "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/endpoint": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "dev": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/graphql": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", - "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.0.tgz", + "integrity": "sha512-gejfDywEml/45SqbWTWrhfwvLBrcGYhOn50sPOjIeVvH6i7D16/9xcFA8dAJNp2HMcd+g4vru41g4E2RBiZvfQ==", "dev": true, "dependencies": { - "@octokit/request": "^8.3.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.1.4", + "@octokit/types": "^13.8.0", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==", "dev": true }, "node_modules/netlify-cli/node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", - "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.2.tgz", + "integrity": "sha512-BXJ7XPCTDXFF+wxcg/zscfgw2O/iDPtNSkwwR1W1W5c4Mb3zav/M2XvxQ23nVmKj7jpweB4g8viMeCQdm7LMVA==", "dev": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^13.7.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "5" + "@octokit/core": ">=6" } }, "node_modules/netlify-cli/node_modules/@octokit/plugin-request-log": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", - "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", "dev": true, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "5" + "@octokit/core": ">=6" } }, "node_modules/netlify-cli/node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", - "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.0.tgz", + "integrity": "sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==", "dev": true, "dependencies": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^13.7.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^5" + "@octokit/core": ">=6" } }, "node_modules/netlify-cli/node_modules/@octokit/request": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "dev": true, "dependencies": { - "@octokit/endpoint": "^9.0.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "dev": true, "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.6.2" }, "engines": { "node": ">= 18" } }, + "node_modules/netlify-cli/node_modules/@octokit/request/node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/netlify-cli/node_modules/@octokit/rest": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", - "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", "dev": true, "dependencies": { - "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "11.3.1", - "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "13.2.2" + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" }, "engines": { "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "@octokit/openapi-types": "^23.0.1" } }, "node_modules/netlify-cli/node_modules/@opentelemetry/api": { @@ -24059,19 +26576,349 @@ "node": ">=12" } }, + "node_modules/netlify-cli/node_modules/@pnpm/tabtab": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@pnpm/tabtab/-/tabtab-0.5.4.tgz", + "integrity": "sha512-bWLDlHsBlgKY/05wDN/V3ETcn5G2SV/SiA2ZmNvKGGlmVX4G5li7GRDhHcgYvHJHyJ8TUStqg2xtHmCs0UbAbg==", + "dev": true, + "dependencies": { + "debug": "^4.3.1", + "enquirer": "^2.3.6", + "minimist": "^1.2.5", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/netlify-cli/node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", "dev": true, "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-android-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "node_modules/netlify-cli/node_modules/@sindresorhus/is": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", @@ -24084,6 +26931,18 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/netlify-cli/node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/@sindresorhus/slugify": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", @@ -24168,27 +27027,27 @@ } }, "node_modules/netlify-cli/node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true }, "node_modules/netlify-cli/node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "node_modules/netlify-cli/node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "node_modules/netlify-cli/node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, "node_modules/netlify-cli/node_modules/@types/body-parser": { @@ -24214,6 +27073,13 @@ "@types/node": "*" } }, + "node_modules/netlify-cli/node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/netlify-cli/node_modules/@types/express": { "version": "4.17.13", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", @@ -24256,30 +27122,6 @@ "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, "node_modules/netlify-cli/node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", @@ -24289,10 +27131,11 @@ "peer": true }, "node_modules/netlify-cli/node_modules/@types/node": { - "version": "20.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", - "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "version": "18.19.86", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.86.tgz", + "integrity": "sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } @@ -24320,9 +27163,9 @@ "peer": true }, "node_modules/netlify-cli/node_modules/@types/retry": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", - "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true }, "node_modules/netlify-cli/node_modules/@types/serve-static": { @@ -24337,12 +27180,6 @@ "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, "node_modules/netlify-cli/node_modules/@types/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", @@ -24353,32 +27190,285 @@ "@types/node": "*" } }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/types": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", + "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", + "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", + "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/netlify-cli/node_modules/@vercel/nft": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.27.2.tgz", - "integrity": "sha512-7LeioS1yE5hwPpQfD3DdH04tuugKjo5KrJk3yK5kAI3Lh76iSsK/ezoFQfzuT08X3ZASQOd1y9ePjLNI9+TxTQ==", + "version": "0.29.4", + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.4.tgz", + "integrity": "sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==", "dev": true, "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "@rollup/pluginutils": "^4.0.0", + "@mapbox/node-pre-gyp": "^2.0.0", + "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", - "glob": "^7.1.3", + "glob": "^10.4.5", "graceful-fs": "^4.2.9", - "micromatch": "^4.0.2", "node-gyp-build": "^4.2.2", + "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" + } + }, + "node_modules/netlify-cli/node_modules/@vue/compiler-core": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.16.tgz", + "integrity": "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.27.2", + "@vue/shared": "3.5.16", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" } }, + "node_modules/netlify-cli/node_modules/@vue/compiler-dom": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.16.tgz", + "integrity": "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.5.16", + "@vue/shared": "3.5.16" + } + }, + "node_modules/netlify-cli/node_modules/@vue/compiler-sfc": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.16.tgz", + "integrity": "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.27.2", + "@vue/compiler-core": "3.5.16", + "@vue/compiler-dom": "3.5.16", + "@vue/compiler-ssr": "3.5.16", + "@vue/shared": "3.5.16", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.3", + "source-map-js": "^1.2.1" + } + }, + "node_modules/netlify-cli/node_modules/@vue/compiler-ssr": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.16.tgz", + "integrity": "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.5.16", + "@vue/shared": "3.5.16" + } + }, + "node_modules/netlify-cli/node_modules/@vue/shared": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.16.tgz", + "integrity": "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", + "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", + "dev": true, + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/fetch": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.8.tgz", + "integrity": "sha512-Rw9z3ctmeEj8QIB9MavkNJqekiu9usBCSMZa+uuAvM0lF3v70oQVCXNppMIqaV6OTZbdaHF1M2HLow58DEw+wg==", + "dev": true, + "dependencies": { + "@whatwg-node/node-fetch": "^0.7.21", + "urlpattern-polyfill": "^10.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/fetch/node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.7.21.tgz", + "integrity": "sha512-QC16IdsEyIW7kZd77aodrMO7zAoDyyqRCTLg+qG4wqtP4JV9AA+p7/lgqMdD29XyiYdVvIdFrfI9yh7B1QvRvw==", + "dev": true, + "dependencies": { + "@fastify/busboy": "^3.1.1", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", + "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/server": { + "version": "0.10.10", + "resolved": "https://registry.npmjs.org/@whatwg-node/server/-/server-0.10.10.tgz", + "integrity": "sha512-GwpdMgUmwIp0jGjP535YtViP/nnmETAyHpGPWPZKdX++Qht/tSLbGXgFUMSsQvEACmZAR1lAPNu2CnYL1HpBgg==", + "dev": true, + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.8", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/server/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, "node_modules/netlify-cli/node_modules/@xhmikosr/archive-type": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-6.0.1.tgz", @@ -24509,21 +27599,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/@xhmikosr/downloader": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-13.0.1.tgz", @@ -24611,16 +27686,20 @@ } }, "node_modules/netlify-cli/node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, "node_modules/netlify-cli/node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, + "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -24648,9 +27727,9 @@ } }, "node_modules/netlify-cli/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -24677,46 +27756,6 @@ "node": ">=0.4.0" } }, - "node_modules/netlify-cli/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, - "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/aggregate-error/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -24752,68 +27791,43 @@ } }, "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/netlify-cli/node_modules/all-node-versions": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/all-node-versions/-/all-node-versions-11.3.0.tgz", - "integrity": "sha512-psMkc5s3qpr+QMfires9bC4azRYciPWql1wqZKMsYRh1731qefQDH2X4+O19xSBX6u0Ra/8Y5diG6y/fEmqKsw==", - "dev": true, - "dependencies": { - "fetch-node-website": "^7.3.0", - "filter-obj": "^5.1.0", - "get-stream": "^6.0.0", - "global-cache-dir": "^4.3.1", - "is-plain-obj": "^4.1.0", - "path-exists": "^5.0.0", - "semver": "^7.3.7", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/all-node-versions/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/all-node-versions/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -24823,6 +27837,15 @@ "string-width": "^4.1.0" } }, + "node_modules/netlify-cli/node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/netlify-cli/node_modules/ansi-escapes": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", @@ -24883,6 +27906,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/netlify-cli/node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/netlify-cli/node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -24896,11 +27928,18 @@ "node": ">= 8" } }, - "node_modules/netlify-cli/node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true + "node_modules/netlify-cli/node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/netlify-cli/node_modules/archiver": { "version": "7.0.1", @@ -24938,15 +27977,6 @@ "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -24971,28 +28001,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -25005,52 +28013,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -25126,9 +28092,9 @@ } }, "node_modules/netlify-cli/node_modules/archiver/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -25176,31 +28142,12 @@ "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, - "node_modules/netlify-cli/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/netlify-cli/node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/netlify-cli/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/netlify-cli/node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -25213,27 +28160,6 @@ "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/arrify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", - "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/ascii-table": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", @@ -25241,12 +28167,12 @@ "dev": true }, "node_modules/netlify-cli/node_modules/ast-module-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-5.0.0.tgz", - "integrity": "sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz", + "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==", "dev": true, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/async": { @@ -25316,6 +28242,78 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/netlify-cli/node_modules/bare-events": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "dev": true, + "optional": true + }, + "node_modules/netlify-cli/node_modules/bare-fs": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", + "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", + "dev": true, + "optional": true, + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/netlify-cli/node_modules/bare-os": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", + "dev": true, + "optional": true, + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/netlify-cli/node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "dev": true, + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/netlify-cli/node_modules/bare-stream": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "dev": true, + "optional": true, + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, "node_modules/netlify-cli/node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -25337,9 +28335,9 @@ ] }, "node_modules/netlify-cli/node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", "dev": true }, "node_modules/netlify-cli/node_modules/better-ajv-errors": { @@ -25347,6 +28345,7 @@ "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@babel/code-frame": "^7.16.0", "@humanwhocodes/momoa": "^2.0.2", @@ -25366,6 +28365,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -25381,6 +28381,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -25397,6 +28398,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -25408,13 +28410,15 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -25422,18 +28426,6 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dev": true, - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/netlify-cli/node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -25463,12 +28455,85 @@ "readable-stream": "^3.4.0" } }, - "node_modules/netlify-cli/node_modules/blueimp-md5": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", + "node_modules/netlify-cli/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/netlify-cli/node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -25476,87 +28541,90 @@ "dev": true }, "node_modules/netlify-cli/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", "dev": true, "dependencies": { "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, "node_modules/netlify-cli/node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/netlify-cli/node_modules/boxen/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=16" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/netlify-cli/node_modules/boxen/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/netlify-cli/node_modules/braces": { @@ -25598,7 +28666,7 @@ "node_modules/netlify-cli/node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "engines": { "node": "*" @@ -25617,9 +28685,9 @@ "dev": true }, "node_modules/netlify-cli/node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "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, "engines": { "node": ">=6" @@ -25628,13 +28696,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "node_modules/netlify-cli/node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/byline": { @@ -25682,26 +28756,27 @@ "node": ">=14.16" } }, - "node_modules/netlify-cli/node_modules/cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "node_modules/netlify-cli/node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/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/netlify-cli/node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -25719,22 +28794,10 @@ "node": "*" } }, - "node_modules/netlify-cli/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -25773,19 +28836,44 @@ "fsevents": "~2.3.2" } }, + "node_modules/netlify-cli/node_modules/chokidar/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/netlify-cli/node_modules/chokidar/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/netlify-cli/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/ci-info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", - "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", + "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", "dev": true, "funding": [ { @@ -25793,6 +28881,7 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } @@ -25821,15 +28910,15 @@ } }, "node_modules/netlify-cli/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -25860,27 +28949,15 @@ } }, "node_modules/netlify-cli/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { - "string-width": "^4.2.3" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/netlify-cli/node_modules/cli-spinners": { @@ -25895,51 +28972,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "node_modules/netlify-cli/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, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "node_modules/netlify-cli/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, "node_modules/netlify-cli/node_modules/clipboardy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", @@ -26014,9 +29055,9 @@ } }, "node_modules/netlify-cli/node_modules/clipboardy/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { "path-key": "^4.0.0" @@ -26067,11 +29108,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/netlify-cli/node_modules/cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -26111,21 +29163,6 @@ "simple-swizzle": "^0.2.2" } }, - "node_modules/netlify-cli/node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/netlify-cli/node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -26135,33 +29172,6 @@ "node": ">=0.1.90" } }, - "node_modules/netlify-cli/node_modules/colors-option": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/colors-option/-/colors-option-3.0.0.tgz", - "integrity": "sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==", - "dev": true, - "dependencies": { - "chalk": "^5.0.0", - "filter-obj": "^3.0.0", - "is-plain-obj": "^4.0.0", - "jest-validate": "^27.3.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/colors-option/node_modules/filter-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-3.0.0.tgz", - "integrity": "sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/colorspace": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", @@ -26173,12 +29183,12 @@ } }, "node_modules/netlify-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/comment-json": { @@ -26262,9 +29272,9 @@ } }, "node_modules/netlify-cli/node_modules/compress-commons/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -26306,30 +29316,12 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/netlify-cli/node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/concordance": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", - "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", + "node_modules/netlify-cli/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "dev": true, - "dependencies": { - "date-time": "^3.1.0", - "esutils": "^2.0.3", - "fast-diff": "^1.2.0", - "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "md5-hex": "^3.0.1", - "semver": "^7.3.2", - "well-known-symbols": "^2.0.0" - }, - "engines": { - "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14" - } + "license": "MIT" }, "node_modules/netlify-cli/node_modules/config-chain": { "version": "1.1.13", @@ -26341,57 +29333,29 @@ "proto-list": "~1.2.1" } }, - "node_modules/netlify-cli/node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/netlify-cli/node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.0.0.tgz", + "integrity": "sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==", "dev": true, "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" + "atomically": "^2.0.3", + "dot-prop": "^9.0.0", + "graceful-fs": "^4.2.11", + "xdg-basedir": "^5.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/yeoman/configstore?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/configstore/node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/configstore/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } + "node_modules/netlify-cli/node_modules/configstore/node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/netlify-cli/node_modules/consola": { "version": "3.2.3", @@ -26402,12 +29366,6 @@ "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/netlify-cli/node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, "node_modules/netlify-cli/node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -26450,18 +29408,18 @@ } }, "node_modules/netlify-cli/node_modules/cookie": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz", - "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/cookie-es": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", - "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", "dev": true }, "node_modules/netlify-cli/node_modules/cookie-signature": { @@ -26470,152 +29428,64 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "node_modules/netlify-cli/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/cp-file": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz", - "integrity": "sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.10", - "nested-error-stacks": "^2.1.1", - "p-event": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cpy/-/cpy-9.0.1.tgz", - "integrity": "sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==", - "dev": true, - "dependencies": { - "arrify": "^3.0.0", - "cp-file": "^9.1.0", - "globby": "^13.1.1", - "junk": "^4.0.0", - "micromatch": "^4.0.4", - "nested-error-stacks": "^2.1.0", - "p-filter": "^3.0.0", - "p-map": "^5.3.0" - }, - "engines": { - "node": "^12.20.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/cp-file": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-9.1.0.tgz", - "integrity": "sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "nested-error-stacks": "^2.0.0", - "p-event": "^4.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/netlify-cli/node_modules/copy-file": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-file/-/copy-file-11.0.0.tgz", + "integrity": "sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "graceful-fs": "^4.2.11", + "p-event": "^6.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "dev": true, - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/copy-file/node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", + "node_modules/netlify-cli/node_modules/copy-file/node_modules/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", "dev": true, "dependencies": { - "p-map": "^5.1.0" + "p-timeout": "^6.1.2" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dev": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "node_modules/netlify-cli/node_modules/cpy": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-11.1.0.tgz", + "integrity": "sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==", "dev": true, "dependencies": { - "p-finally": "^1.0.0" + "copy-file": "^11.0.0", + "globby": "^14.0.2", + "junk": "^4.0.1", + "micromatch": "^4.0.7", + "p-filter": "^4.1.0", + "p-map": "^7.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/cpy/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -26671,9 +29541,9 @@ } }, "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -26734,9 +29604,9 @@ } }, "node_modules/netlify-cli/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==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -26757,36 +29627,17 @@ } }, "node_modules/netlify-cli/node_modules/crossws": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.1.tgz", - "integrity": "sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dev": true, - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.3.tgz", + "integrity": "sha512-uZwy53h6ITBxXdzsw7UcGQZ1QSyjBSkAknu70Zb7+JWmJ1LstE1hVFEgt34RVoCQJn8kstSOnNmRjK93SG1LBg==", "dev": true, - "engines": { - "node": ">=10" + "peerDependencies": { + "uWebSockets.js": "*" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "uWebSockets.js": { + "optional": true + } } }, "node_modules/netlify-cli/node_modules/css-select": { @@ -26884,22 +29735,10 @@ "node": ">= 12" } }, - "node_modules/netlify-cli/node_modules/date-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", - "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", - "dev": true, - "dependencies": { - "time-zone": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/netlify-cli/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { "ms": "^2.1.3" @@ -26963,43 +29802,70 @@ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "node_modules/netlify-cli/node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/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/netlify-cli/node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" } }, "node_modules/netlify-cli/node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/defu": { @@ -27008,17 +29874,13 @@ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "dev": true }, - "node_modules/netlify-cli/node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, "node_modules/netlify-cli/node_modules/denque": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10" } @@ -27032,17 +29894,12 @@ "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, "node_modules/netlify-cli/node_modules/destr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", - "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==", - "dev": true + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/destroy": { "version": "1.2.0", @@ -27055,213 +29912,154 @@ } }, "node_modules/netlify-cli/node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/netlify-cli/node_modules/detective-amd": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-5.0.2.tgz", - "integrity": "sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz", + "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==", "dev": true, "dependencies": { - "ast-module-types": "^5.0.0", - "escodegen": "^2.0.0", - "get-amd-module-type": "^5.0.1", - "node-source-walk": "^6.0.1" + "ast-module-types": "^6.0.1", + "escodegen": "^2.1.0", + "get-amd-module-type": "^6.0.1", + "node-source-walk": "^7.0.1" }, "bin": { "detective-amd": "bin/cli.js" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-cjs": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-5.0.1.tgz", - "integrity": "sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz", + "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==", "dev": true, "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.0" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-es6": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-4.0.1.tgz", - "integrity": "sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz", + "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==", "dev": true, "dependencies": { - "node-source-walk": "^6.0.1" + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-postcss": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-6.1.3.tgz", - "integrity": "sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz", + "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==", "dev": true, "dependencies": { "is-url": "^1.2.4", - "postcss": "^8.4.23", "postcss-values-parser": "^6.0.2" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.47" } }, "node_modules/netlify-cli/node_modules/detective-sass": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-5.0.3.tgz", - "integrity": "sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz", + "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-4.0.3.tgz", - "integrity": "sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz", + "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==", "dev": true, "dependencies": { "gonzales-pe": "^4.3.0", - "node-source-walk": "^6.0.1" + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-stylus": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-4.0.0.tgz", - "integrity": "sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz", + "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==", "dev": true, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/detective-typescript": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-11.2.0.tgz", - "integrity": "sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "^5.62.0", - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.2", - "typescript": "^5.4.4" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/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==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz", + "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@typescript-eslint/typescript-estree": "^8.23.0", + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": "^5.4.4" } }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/netlify-cli/node_modules/detective-vue2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz", + "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@dependents/detective-less": "^5.0.1", + "@vue/compiler-sfc": "^3.5.13", + "detective-es6": "^5.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/netlify-cli/node_modules/detective-typescript/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "node": ">=18" }, - "engines": { - "node": ">=14.17" + "peerDependencies": { + "typescript": "^5.4.4" } }, - "node_modules/netlify-cli/node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/netlify-cli/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.3.1" } }, "node_modules/netlify-cli/node_modules/dom-serializer": { @@ -27335,10 +30133,11 @@ } }, "node_modules/netlify-cli/node_modules/dot-prop/node_modules/type-fest": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", - "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" }, @@ -27347,10 +30146,11 @@ } }, "node_modules/netlify-cli/node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" }, @@ -27358,6 +30158,20 @@ "url": "https://dotenvx.com" } }, + "node_modules/netlify-cli/node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/netlify-cli/node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -27391,6 +30205,15 @@ "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", "dev": true }, + "node_modules/netlify-cli/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/netlify-cli/node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -27400,6 +30223,31 @@ "once": "^1.4.0" } }, + "node_modules/netlify-cli/node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/netlify-cli/node_modules/enquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/netlify-cli/node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -27448,15 +30296,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, "node_modules/netlify-cli/node_modules/error-stack-parser": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", @@ -27467,13 +30306,10 @@ } }, "node_modules/netlify-cli/node_modules/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==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -27488,53 +30324,62 @@ } }, "node_modules/netlify-cli/node_modules/es-module-lexer": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", - "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/es6-promisify": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", - "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==", - "dev": true + "node_modules/netlify-cli/node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/netlify-cli/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" } }, "node_modules/netlify-cli/node_modules/escalade": { @@ -27636,6 +30481,7 @@ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -27651,6 +30497,7 @@ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -27700,9 +30547,9 @@ } }, "node_modules/netlify-cli/node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -27710,7 +30557,7 @@ "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -27724,7 +30571,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -27739,6 +30586,10 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/netlify-cli/node_modules/express-logging": { @@ -27753,34 +30604,10 @@ "node": ">= 0.10.26" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/netlify-cli/node_modules/express/node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, "engines": { "node": ">= 0.6" @@ -27795,12 +30622,6 @@ "ms": "2.0.0" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/netlify-cli/node_modules/express/node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -27810,33 +30631,6 @@ "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/netlify-cli/node_modules/express/node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -27853,29 +30647,17 @@ "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/netlify-cli/node_modules/express/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/netlify-cli/node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true }, "node_modules/netlify-cli/node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", @@ -27897,54 +30679,6 @@ } ] }, - "node_modules/netlify-cli/node_modules/express/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/netlify-cli/node_modules/ext-list": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", @@ -28037,12 +30771,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/netlify-cli/node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/fast-equals": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", @@ -28050,22 +30778,22 @@ "dev": true }, "node_modules/netlify-cli/node_modules/fast-fifo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.0.tgz", - "integrity": "sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", "dev": true }, "node_modules/netlify-cli/node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -28094,15 +30822,15 @@ } }, "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -28126,6 +30854,22 @@ } } }, + "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -28157,10 +30901,11 @@ "dev": true }, "node_modules/netlify-cli/node_modules/fast-uri": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.2.0.tgz", - "integrity": "sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==", - "dev": true + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -28172,9 +30917,9 @@ } }, "node_modules/netlify-cli/node_modules/fastify": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.28.1.tgz", - "integrity": "sha512-kFWUtpNr4i7t5vY2EJPCN2KgMVpuqfU4NjnJNCgiNB900oiDeYqaNDRcAfeBbOF5hGixixxcKnOU4KN9z6QncQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", "dev": true, "funding": [ { @@ -28211,146 +30956,12 @@ "integrity": "sha512-ovwFQG2qNy3jcCROiWpr94Hs0le+c7N/3t7m9aVwbFhkxcR/esp2xu25dP8e617HpQdmeDv+gFX4zagdUhDByw==", "dev": true }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/pino": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-9.2.0.tgz", - "integrity": "sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==", - "dev": true, - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^1.2.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^3.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/pino-abstract-transport": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", - "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", - "dev": true, - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/pino-std-serializers": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", - "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", - "dev": true - }, "node_modules/netlify-cli/node_modules/fastify/node_modules/process-warning": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/sonic-boom": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.0.1.tgz", - "integrity": "sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==", - "dev": true, - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/thread-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", - "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", - "dev": true, - "dependencies": { - "real-require": "^0.2.0" - } - }, "node_modules/netlify-cli/node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -28370,12 +30981,13 @@ } }, "node_modules/netlify-cli/node_modules/fdir": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.0.1.tgz", - "integrity": "sha512-bdrUUb0eYQrPRlaAtlSRoLs7sp6yKEwbMQuUgwvi/14TnaqhM/deSZUrC5ic+yjm5nEPPWE61oWpTTxQFQMmLA==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", + "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", "dev": true, + "license": "MIT", "peerDependencies": { - "picomatch": "2.x" + "picomatch": "^3 || ^4" }, "peerDependenciesMeta": { "picomatch": { @@ -28412,87 +31024,35 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/netlify-cli/node_modules/fetch-node-website": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/fetch-node-website/-/fetch-node-website-7.3.0.tgz", - "integrity": "sha512-/wayUHbdVUWrD72aqRNNrr6+MHnCkumZgNugN0RfiWJpbNJUdAkMk4Z18MGayGZVVqYXR1RWrV+bIFEt5HuBZg==", - "dev": true, - "dependencies": { - "cli-progress": "^3.11.2", - "colors-option": "^4.4.0", - "figures": "^5.0.0", - "got": "^12.3.1", - "is-plain-obj": "^4.1.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/colors-option": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/colors-option/-/colors-option-4.5.0.tgz", - "integrity": "sha512-Soe5lerRg3erMRgYC0EC696/8dMCGpBzcQchFfi55Yrkja8F+P7cUt0LVTIg7u5ob5BexLZ/F1kO+ejmv+nq8w==", - "dev": true, - "dependencies": { - "chalk": "^5.0.1", - "is-plain-obj": "^4.1.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/fetch-node-website/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "node_modules/netlify-cli/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, + "license": "MIT", "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/netlify-cli/node_modules/figures/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/netlify-cli/node_modules/file-type": { "version": "18.5.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz", @@ -28529,17 +31089,50 @@ } }, "node_modules/netlify-cli/node_modules/filter-obj": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", - "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-6.1.0.tgz", + "integrity": "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/netlify-cli/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/netlify-cli/node_modules/find-my-way": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", @@ -28592,16 +31185,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/flush-write-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-2.0.0.tgz", - "integrity": "sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, "node_modules/netlify-cli/node_modules/fn.name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", @@ -28714,15 +31297,6 @@ "readable-stream": "^2.0.0" } }, - "node_modules/netlify-cli/node_modules/from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha512-0G0cAp7sYLobH7ALsr835x98PU/YeVF7wlwxdWbCUaea7wsa7lJfKZUAo6p2YZGZ8F94luCuqHZS3JtFER6uPg==", - "dev": true, - "dependencies": { - "from2": "^2.0.3" - } - }, "node_modules/netlify-cli/node_modules/from2/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -28744,36 +31318,6 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/netlify-cli/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "node_modules/netlify-cli/node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -28806,49 +31350,17 @@ "node": ">= 0.6.0" } }, - "node_modules/netlify-cli/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/get-amd-module-type": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-5.0.1.tgz", - "integrity": "sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz", + "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==", "dev": true, "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.1" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/get-caller-file": { @@ -28873,16 +31385,21 @@ } }, "node_modules/netlify-cli/node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -28896,6 +31413,7 @@ "resolved": "https://registry.npmjs.org/get-package-name/-/get-package-name-2.2.0.tgz", "integrity": "sha512-LmCKVxioe63Fy6KDAQ/mmCSOSSRUE/x4zdrMD+7dU8quF3bGpzvP8mOmq4Dgce3nzU9AgkVDotucNOOg7c27BQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12.0.0" } @@ -28905,6 +31423,7 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -28918,6 +31437,19 @@ "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", "dev": true }, + "node_modules/netlify-cli/node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/netlify-cli/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -28962,12 +31494,6 @@ "ini": "^1.3.2" } }, - "node_modules/netlify-cli/node_modules/gitconfiglocal/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/netlify-cli/node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -28975,20 +31501,20 @@ "dev": true }, "node_modules/netlify-cli/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -29006,26 +31532,29 @@ "node": ">= 6" } }, - "node_modules/netlify-cli/node_modules/global-cache-dir": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global-cache-dir/-/global-cache-dir-4.4.0.tgz", - "integrity": "sha512-bk0gI6IbbphRjAaCJJn5H+T/CcEck5B3a5KBO2BXSDzjFSV+API17w8GA7YPJ6IXJiasW8M0VsEIig1PCHdfOQ==", + "node_modules/netlify-cli/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { - "cachedir": "^2.3.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": ">=14.18.0" + "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/global-cache-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/netlify-cli/node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/netlify-cli/node_modules/global-directory": { @@ -29053,20 +31582,41 @@ } }, "node_modules/netlify-cli/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/globby/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/netlify-cli/node_modules/globby/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -29088,12 +31638,12 @@ } }, "node_modules/netlify-cli/node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -29131,20 +31681,31 @@ "dev": true }, "node_modules/netlify-cli/node_modules/h3": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz", - "integrity": "sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", + "integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==", "dev": true, + "license": "MIT", "dependencies": { - "cookie-es": "^1.0.0", + "cookie-es": "^1.2.2", + "crossws": "^0.3.4", "defu": "^6.1.4", - "destr": "^2.0.2", - "iron-webcrypto": "^1.0.0", - "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.3.2", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.0", + "radix3": "^1.1.2", + "ufo": "^1.6.1", + "uncrypto": "^0.1.3" + } + }, + "node_modules/netlify-cli/node_modules/h3/node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" } }, "node_modules/netlify-cli/node_modules/has": { @@ -29177,34 +31738,10 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/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, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/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, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/netlify-cli/node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "engines": { "node": ">= 0.4" @@ -29213,67 +31750,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/hasbin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz", - "integrity": "sha512-CCd8e/w2w28G8DyZvKgiHnQJ/5XXDz6qiUHnthvtag/6T5acUeN5lqq+HMoBqcmgWueWDhiCplrw0Kb1zDACRg==", - "dev": true, - "dependencies": { - "async": "~1.5" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/hasbin/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/hasha/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -29287,21 +31763,22 @@ } }, "node_modules/netlify-cli/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, + "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/netlify-cli/node_modules/hot-shots": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.1.1.tgz", - "integrity": "sha512-KTsH9hb+YZHH0IIRf22y0X8mPw8j521W5xRAUeaUlGNBDsf44ixE7ZeyXbUHd/nQ1n04UEhi2ja05/QVOS/CgQ==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.2.1.tgz", + "integrity": "sha512-tmjcyZkG/qADhcdC7UjAp8D7v7W2DOYFgaZ48fYMuayMQmVVUg8fntKmrjes/b40ef6yZ+qt1lB8kuEDfLC4zw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -29356,10 +31833,11 @@ } }, "node_modules/netlify-cli/node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -29415,12 +31893,12 @@ } }, "node_modules/netlify-cli/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -29428,13 +31906,10 @@ } }, "node_modules/netlify-cli/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -29480,21 +31955,24 @@ } ] }, - "node_modules/netlify-cli/node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/netlify-cli/node_modules/image-meta": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.0.tgz", "integrity": "sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==", "dev": true }, + "node_modules/netlify-cli/node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "dev": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, "node_modules/netlify-cli/node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -29504,26 +31982,30 @@ "node": ">=0.8.19" } }, - "node_modules/netlify-cli/node_modules/index-to-position": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", - "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "node_modules/netlify-cli/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/netlify-cli/node_modules/index-to-position": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", + "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/inherits": { @@ -29532,28 +32014,36 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/netlify-cli/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "node_modules/netlify-cli/node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", "dev": true, "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", + "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": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "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": "^6.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=12.0.0" } }, "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt": { @@ -29639,6 +32129,42 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -29664,49 +32190,69 @@ } }, "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, + "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/netlify-cli/node_modules/inquirer/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -29717,91 +32263,128 @@ } }, "node_modules/netlify-cli/node_modules/inquirer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, + "dependencies": { + "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": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/string-width/node_modules/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==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/inquirer/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/netlify-cli/node_modules/inspect-with-kind": { @@ -29818,6 +32401,8 @@ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", @@ -29874,56 +32459,68 @@ } }, "node_modules/netlify-cli/node_modules/ipx/node_modules/@netlify/blobs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-6.5.0.tgz", - "integrity": "sha512-wRFlNnL/Qv3WNLZd3OT/YYqF1zb6iPSo8T31sl9ccL1ahBxW1fBqKgF4b1XL7Z+6mRIkatvcsVPkWBcO+oJMNA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-8.2.0.tgz", + "integrity": "sha512-9djLZHBKsoKk8XCgwWSEPK9QnT8qqxEQGuYh48gFIcNLvpBKkLnHbDZuyUxmNemCfDz7h0HnMXgSPnnUVgARhg==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "engines": { "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/netlify-cli/node_modules/ipx/node_modules/unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz", + "integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", - "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", - "ofetch": "^1.3.3", - "ufo": "^1.3.1" + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.2", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" }, "peerDependencies": { - "@azure/app-configuration": "^1.4.1", - "@azure/cosmos": "^4.0.0", - "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.3.2", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.16.0", - "@capacitor/preferences": "^5.0.6", - "@netlify/blobs": "^6.2.0", - "@planetscale/database": "^1.11.0", - "@upstash/redis": "^1.23.4", - "@vercel/kv": "^0.2.3", - "idb-keyval": "^6.2.1" + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" }, "peerDependenciesMeta": { "@azure/app-configuration": { @@ -29947,6 +32544,9 @@ "@capacitor/preferences": { "optional": true }, + "@deno/kv": { + "optional": true + }, "@netlify/blobs": { "optional": true }, @@ -29956,29 +32556,38 @@ "@upstash/redis": { "optional": true }, + "@vercel/blob": { + "optional": true + }, "@vercel/kv": { "optional": true }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, "idb-keyval": { "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true } } }, "node_modules/netlify-cli/node_modules/iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", "dev": true, "funding": { "url": "https://github.com/sponsors/brc-dd" } }, - "node_modules/netlify-cli/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, "node_modules/netlify-cli/node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -29992,15 +32601,18 @@ } }, "node_modules/netlify-cli/node_modules/is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { - "builtin-modules": "^3.0.0" + "builtin-modules": "^3.3.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/is-core-module": { @@ -30030,6 +32642,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/is-error-instance": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-error-instance/-/is-error-instance-2.0.0.tgz", + "integrity": "sha512-5RuM+oFY0P5MRa1nXJo6IcTx9m2VyXYhRtb4h0olsi2GHci4bqZ6akHk+GmCYvDrAR9yInbiYdr2pnoqiOMw/Q==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/netlify-cli/node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -30040,15 +32661,12 @@ } }, "node_modules/netlify-cli/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/netlify-cli/node_modules/is-glob": { @@ -30112,13 +32730,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "node_modules/netlify-cli/node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", "dev": true, "engines": { - "node": ">=12" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -30145,15 +32763,6 @@ "node": ">=0.12.0" } }, - "node_modules/netlify-cli/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/is-path-inside": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", @@ -30190,24 +32799,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -30278,16 +32869,13 @@ } }, "node_modules/netlify-cli/node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -30295,93 +32883,6 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/netlify-cli/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "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/netlify-cli/node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/jiti": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", @@ -30391,13 +32892,19 @@ "jiti": "bin/jiti.js" } }, - "node_modules/netlify-cli/node_modules/js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "node_modules/netlify-cli/node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/js-image-generator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/js-image-generator/-/js-image-generator-1.0.4.tgz", + "integrity": "sha512-ckb7kyVojGAnArouVR+5lBIuwU1fcrn7E/YYSd0FK7oIngAkMmRvHASLro9Zt5SQdWToaI66NybG+OGxPw/HlQ==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "jpeg-js": "^0.4.2" } }, "node_modules/netlify-cli/node_modules/js-tokens": { @@ -30406,30 +32913,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/netlify-cli/node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/json-schema-ref-resolver": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", @@ -30446,17 +32935,12 @@ "dev": true, "peer": true }, - "node_modules/netlify-cli/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/jsonpointer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -30526,15 +33010,15 @@ } }, "node_modules/netlify-cli/node_modules/keep-func-props": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/keep-func-props/-/keep-func-props-4.0.1.tgz", - "integrity": "sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/keep-func-props/-/keep-func-props-6.0.0.tgz", + "integrity": "sha512-XDYA44ccm6W2MXZeQcDZykS5srkTpPf6Z59AEuOFbfuqdQ5TVxhAjxgzAEFBpr8XpsCEgr/XeCBFAmc9x6wRmQ==", "dev": true, "dependencies": { "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=12.20.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/keyv": { @@ -30590,6 +33074,15 @@ "node": ">=8" } }, + "node_modules/netlify-cli/node_modules/lambda-local/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/netlify-cli/node_modules/latest-version": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", @@ -30642,20 +33135,20 @@ } }, "node_modules/netlify-cli/node_modules/light-my-request": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.13.0.tgz", - "integrity": "sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", + "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", "dev": true, "dependencies": { - "cookie": "^0.6.0", + "cookie": "^0.7.0", "process-warning": "^3.0.0", "set-cookie-parser": "^2.4.1" } }, "node_modules/netlify-cli/node_modules/light-my-request/node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "engines": { "node": ">= 0.6" @@ -30667,12 +33160,6 @@ "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, "node_modules/netlify-cli/node_modules/listhen": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", @@ -30703,69 +33190,6 @@ "listhen": "bin/listhen.mjs" } }, - "node_modules/netlify-cli/node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", - "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/netlify-cli/node_modules/locate-path": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", @@ -30812,9 +33236,9 @@ } }, "node_modules/netlify-cli/node_modules/locate-path/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "engines": { "node": ">=12.20" @@ -30835,6 +33259,12 @@ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, + "node_modules/netlify-cli/node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, "node_modules/netlify-cli/node_modules/lodash.deburr": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", @@ -30845,7 +33275,9 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/netlify-cli/node_modules/lodash.includes": { "version": "4.3.0", @@ -30857,7 +33289,9 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/netlify-cli/node_modules/lodash.isboolean": { "version": "3.0.3", @@ -30908,89 +33342,18 @@ "dev": true }, "node_modules/netlify-cli/node_modules/log-process-errors": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/log-process-errors/-/log-process-errors-8.0.0.tgz", - "integrity": "sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==", - "dev": true, - "dependencies": { - "colors-option": "^3.0.0", - "figures": "^4.0.0", - "filter-obj": "^3.0.0", - "jest-validate": "^27.4.2", - "map-obj": "^5.0.0", - "moize": "^6.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/figures": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz", - "integrity": "sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/filter-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-3.0.0.tgz", - "integrity": "sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-process-errors/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/log-process-errors/-/log-process-errors-11.0.1.tgz", + "integrity": "sha512-HXYU83z3kH0VHfJgGyv9ZP9z7uNEayssgvpeQwSzh60mvpNqUBCPyXLSzCDSMxfGvAUUa0Kw06wJjVR46Ohd3A==", "dev": true, "dependencies": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" + "is-error-instance": "^2.0.0", + "is-plain-obj": "^4.1.0", + "normalize-exception": "^3.0.0", + "set-error-message": "^2.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/log-update": { @@ -31167,16 +33530,10 @@ } }, "node_modules/netlify-cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/netlify-cli/node_modules/luxon": { "version": "3.2.1", @@ -31188,9 +33545,9 @@ } }, "node_modules/netlify-cli/node_modules/macos-release": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.0.1.tgz", - "integrity": "sha512-3l6OrhdDg2H2SigtuN3jBh+5dRJRWxNKuJTPBbGeNJTsmt/pj9PO25wYaNb05NuNmAsl435j4rDP6rgNXz7s7g==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.3.0.tgz", + "integrity": "sha512-tPJQ1HeyiU2vRruNGhZ+VleWuMQRro8iFtJxYgnS4NQe+EukKF6aGiIT+7flZhISAt2iaXBCfFGvAyif7/f8nQ==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -31199,36 +33556,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/netlify-cli/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/netlify-cli/node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/netlify-cli/node_modules/map-obj": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", + "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/netlify-cli/node_modules/maxstache": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/maxstache/-/maxstache-1.0.7.tgz", @@ -31257,52 +33636,6 @@ "once": "^1.3.1" } }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/split2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", - "integrity": "sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==", - "dev": true, - "dependencies": { - "through2": "~2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/netlify-cli/node_modules/md5-hex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", - "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", - "dev": true, - "dependencies": { - "blueimp-md5": "^2.10.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -31324,6 +33657,15 @@ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", "dev": true }, + "node_modules/netlify-cli/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -31376,9 +33718,9 @@ "dev": true }, "node_modules/netlify-cli/node_modules/micro-memoize": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.0.11.tgz", - "integrity": "sha512-CjxsaYe4j43df32DtzzNCwanPqZjZDwuQAZilsCYpa2ZVtSPDjHXbTlR4gsEZRyO9/twHs0b7HLjvy/sowl7sA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.3.tgz", + "integrity": "sha512-DzRMi8smUZXT7rCGikRwldEh6eO6qzKiPPopcr1+2EY3AYKpy5fu159PKWwIS9A6IWnrvPKDMcuFtyrroZa8Bw==", "dev": true }, "node_modules/netlify-cli/node_modules/micromatch": { @@ -31394,6 +33736,19 @@ "node": ">=8.6" } }, + "node_modules/netlify-cli/node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/netlify-cli/node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -31407,21 +33762,21 @@ } }, "node_modules/netlify-cli/node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/netlify-cli/node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -31463,18 +33818,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/netlify-cli/node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -31485,49 +33828,24 @@ } }, "node_modules/netlify-cli/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/netlify-cli/node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">= 18" } }, "node_modules/netlify-cli/node_modules/mkdirp-classic": { @@ -31537,47 +33855,55 @@ "dev": true }, "node_modules/netlify-cli/node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" } }, + "node_modules/netlify-cli/node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/netlify-cli/node_modules/module-definition": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-5.0.1.tgz", - "integrity": "sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz", + "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==", "dev": true, "dependencies": { - "ast-module-types": "^5.0.0", - "node-source-walk": "^6.0.1" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "bin": { "module-definition": "bin/cli.js" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/moize": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.3.tgz", - "integrity": "sha512-Cn+1T5Ypieeo46fn8X98V2gHj2VSRohVPjvT8BRvNANJJC3UOeege/G84xA/3S9c5qA4p9jOdSB1jfhumwe8qw==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", "dev": true, "dependencies": { "fast-equals": "^3.0.1", - "micro-memoize": "^4.0.11" + "micro-memoize": "^4.1.2" } }, "node_modules/netlify-cli/node_modules/move-file": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.0.0.tgz", - "integrity": "sha512-v6u4XjX3MFW6Jo1V/YfbhC7eiGSgvYPJ/NM+aGtTtB9/Y6IYj7YViaHu6dkgDsZFB7MbnAoSI5+Z26XZXnP0vg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz", + "integrity": "sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==", "dev": true, "dependencies": { "path-exists": "^5.0.0" @@ -31598,15 +33924,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/netlify-cli/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -31648,22 +33965,22 @@ ] }, "node_modules/netlify-cli/node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "node_modules/netlify-cli/node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, "optional": true }, "node_modules/netlify-cli/node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -31671,6 +33988,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -31678,6 +33996,15 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/netlify-cli/node_modules/nanospinner": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.2.2.tgz", + "integrity": "sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA==", + "dev": true, + "dependencies": { + "picocolors": "^1.1.1" + } + }, "node_modules/netlify-cli/node_modules/napi-build-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -31693,138 +34020,12 @@ "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/nested-error-stacks": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", - "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/netlify": { - "version": "13.1.21", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.1.21.tgz", - "integrity": "sha512-PLw+IskyiY+GZNvheR0JgBXIuwebKowY/JU1QBArnXT5Tza1cFbSRr2LJVdiAJCvtbYY73CapfJeSMp36nRjjQ==", - "dev": true, - "dependencies": { - "@netlify/open-api": "^2.34.0", - "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", - "node-fetch": "^3.0.0", - "omit.js": "^2.0.2", - "p-wait-for": "^4.0.0", - "qs": "^6.9.6" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/netlify-headers-parser": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/netlify-headers-parser/-/netlify-headers-parser-7.1.4.tgz", - "integrity": "sha512-fTVQf8u65vS4YTP2Qt1K6Np01q3yecRKXf6VMONMlWbfl5n3M/on7pZlZISNAXHNOtnVt+6Kpwfl+RIeALC8Kg==", - "dev": true, - "dependencies": { - "@iarna/toml": "^2.2.5", - "escape-string-regexp": "^5.0.0", - "fast-safe-stringify": "^2.0.7", - "is-plain-obj": "^4.0.0", - "map-obj": "^5.0.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/netlify-headers-parser/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/netlify-headers-parser/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/netlify-headers-parser/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/netlify-redirect-parser": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-14.3.0.tgz", - "integrity": "sha512-/Oqq+SrTXk8hZqjCBy0AkWf5qAhsgcsdxQA09uYFdSSNG5w9rhh17a7dp77o5Q5XoHCahm8u4Kig/lbXkl4j2g==", - "dev": true, - "dependencies": { - "@iarna/toml": "^2.2.5", - "fast-safe-stringify": "^2.1.1", - "filter-obj": "^5.0.0", - "is-plain-obj": "^4.0.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/netlify-redirect-parser/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/netlify-redirector": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", "integrity": "sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==", "dev": true }, - "node_modules/netlify-cli/node_modules/netlify/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/netlify/node_modules/p-wait-for": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-4.1.0.tgz", - "integrity": "sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==", - "dev": true, - "dependencies": { - "p-timeout": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/node-abi": { "version": "3.51.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", @@ -31838,13 +34039,10 @@ } }, "node_modules/netlify-cli/node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "dev": true, - "engines": { - "node": "^16 || ^18 || >= 20" - } + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true }, "node_modules/netlify-cli/node_modules/node-domexception": { "version": "1.0.0", @@ -31884,9 +34082,9 @@ } }, "node_modules/netlify-cli/node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", "dev": true }, "node_modules/netlify-cli/node_modules/node-forge": { @@ -31899,9 +34097,9 @@ } }, "node_modules/netlify-cli/node_modules/node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "dev": true, "bin": { "node-gyp-build": "bin.js", @@ -31909,16 +34107,22 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/netlify-cli/node_modules/node-mock-http": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.0.tgz", + "integrity": "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==", + "dev": true + }, "node_modules/netlify-cli/node_modules/node-source-walk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-6.0.2.tgz", - "integrity": "sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz", + "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==", "dev": true, "dependencies": { - "@babel/parser": "^7.21.8" + "@babel/parser": "^7.26.7" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/node-stream-zip": { @@ -31926,6 +34130,7 @@ "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" }, @@ -31934,74 +34139,47 @@ "url": "https://github.com/sponsors/antelle" } }, - "node_modules/netlify-cli/node_modules/node-version-alias": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/node-version-alias/-/node-version-alias-3.4.1.tgz", - "integrity": "sha512-Kf3L9spAL6lEHMPyqpwHSTNG3LPkOXBfSUnBMG/YE2TdoC8Qoqf0+qg01nr6K9MFQEcXtWUyTQzLJByRixSBsA==", - "dev": true, - "dependencies": { - "all-node-versions": "^11.3.0", - "filter-obj": "^5.1.0", - "is-plain-obj": "^4.1.0", - "normalize-node-version": "^12.4.0", - "path-exists": "^5.0.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/netlify-cli/node_modules/node-version-alias/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, "dependencies": { - "abbrev": "1" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": ">=6" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/netlify-cli/node_modules/normalize-node-version": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/normalize-node-version/-/normalize-node-version-12.4.0.tgz", - "integrity": "sha512-0oLZN5xcyKVrSHMk8/9RuNblEe7HEsXAt5Te2xmMiZD9VX7bqWYe0HMyfqSYFD3xv0949lZuXaEwjTqle1uWWQ==", + "node_modules/netlify-cli/node_modules/normalize-exception": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-exception/-/normalize-exception-3.0.0.tgz", + "integrity": "sha512-SMZtWSLjls45KBgwvS2jWyXLtOI9j90JyQ6tJstl91Gti4W7QwZyF/nWwlFRz/Cx4Gy70DAtLT0EzXYXcPJJUw==", "dev": true, "dependencies": { - "all-node-versions": "^11.3.0", - "filter-obj": "^5.1.0", - "semver": "^7.3.7" + "is-error-instance": "^2.0.0", + "is-plain-obj": "^4.1.0" }, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "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" + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/netlify-cli/node_modules/normalize-path": { @@ -32046,18 +34224,6 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/netlify-cli/node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -32070,20 +34236,12 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/netlify-cli/node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -32092,27 +34250,22 @@ } }, "node_modules/netlify-cli/node_modules/ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", + "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", "dev": true, "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" + "destr": "^2.0.3", + "node-fetch-native": "^1.6.4", + "ufo": "^1.5.4" } }, - "node_modules/netlify-cli/node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", - "dev": true - }, "node_modules/netlify-cli/node_modules/omit.js": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/on-exit-leak-free": { "version": "2.1.2", @@ -32187,157 +34340,15 @@ } }, "node_modules/netlify-cli/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/open/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/ora": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.0.tgz", - "integrity": "sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==", - "dev": true, - "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^5.0.0", - "cli-spinners": "^2.9.2", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.0.0", - "log-symbols": "^6.0.0", - "stdin-discarder": "^0.2.2", - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dev": true, - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/ora/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { "node": ">=18" @@ -32347,16 +34358,16 @@ } }, "node_modules/netlify-cli/node_modules/os-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-5.0.1.tgz", - "integrity": "sha512-0EQpaHUHq7olp2/YFUr+0vZi9tMpDTblHGz+Ch5RntKxiRXOAY0JOz1UlxhSjMSksHvkm13eD6elJj3M8Ht/kw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-6.1.0.tgz", + "integrity": "sha512-zBd1G8HkewNd2A8oQ8c6BN/f/c9EId7rSUueOLGu28govmUctXmM+3765GwsByv9nYUdrLqHphXlYIc86saYsg==", "dev": true, "dependencies": { - "macos-release": "^3.0.1", - "windows-release": "^5.0.1" + "macos-release": "^3.3.0", + "windows-release": "^6.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -32443,19 +34454,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/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, - "engines": { - "node": ">=4" - } - }, "node_modules/netlify-cli/node_modules/p-map": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", - "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, "engines": { "node": ">=18" @@ -32477,25 +34479,26 @@ } }, "node_modules/netlify-cli/node_modules/p-retry": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.1.tgz", - "integrity": "sha512-i69WkEU5ZAL8mrmdmVviWwU+DN+IUF8f4sSJThoJ3z5A7Nn5iuO5ROX3Boye0u+uYQLOSfgFl7SuFZCjlAVbQA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "dependencies": { - "@types/retry": "0.12.1", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/p-timeout": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", - "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", "dev": true, "engines": { "node": ">=14.16" @@ -32519,6 +34522,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/package-directory": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/package-directory/-/package-directory-8.1.0.tgz", + "integrity": "sha512-qHKRW0pw3lYdZMQVkjDBqh8HlamH/LCww2PH7OWEp4Qrt3SFeYMNpnJrQzlSnGrDD5zGR51XqBh7FnNCdVNEHA==", + "dev": true, + "dependencies": { + "find-up-simple": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/package-json": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", @@ -32537,6 +34555,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "node_modules/netlify-cli/node_modules/parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", @@ -32584,31 +34608,58 @@ "node": ">=14" } }, + "node_modules/netlify-cli/node_modules/parse-imports": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", + "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", + "dev": true, + "license": "Apache-2.0 AND MIT", + "dependencies": { + "es-module-lexer": "^1.5.3", + "slashes": "^3.0.12" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/netlify-cli/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "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" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/parse-json/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/parse-ms": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", - "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -32623,15 +34674,6 @@ "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/netlify-cli/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", @@ -32666,28 +34708,16 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/netlify-cli/node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/pathe": { @@ -32716,38 +34746,119 @@ "dev": true }, "node_modules/netlify-cli/node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/netlify-cli/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/netlify-cli/node_modules/pino": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.6.0.tgz", + "integrity": "sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^4.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/netlify-cli/node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/pino/node_modules/pino-abstract-transport": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "dev": true, + "dependencies": { + "split2": "^4.0.0" + } + }, + "node_modules/netlify-cli/node_modules/pino/node_modules/process-warning": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.1.tgz", + "integrity": "sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/netlify-cli/node_modules/pino/node_modules/sonic-boom": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", + "dev": true, + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/netlify-cli/node_modules/pino/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, "node_modules/netlify-cli/node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, + "license": "MIT", "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, + "node_modules/netlify-cli/node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/netlify-cli/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -32764,8 +34875,8 @@ } ], "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -32828,10 +34939,11 @@ "dev": true }, "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", "dev": true, + "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -32856,29 +34968,32 @@ } }, "node_modules/netlify-cli/node_modules/precinct": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-11.0.5.tgz", - "integrity": "sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==", - "dev": true, - "dependencies": { - "@dependents/detective-less": "^4.1.0", - "commander": "^10.0.1", - "detective-amd": "^5.0.2", - "detective-cjs": "^5.0.1", - "detective-es6": "^4.0.1", - "detective-postcss": "^6.1.3", - "detective-sass": "^5.0.3", - "detective-scss": "^4.0.3", - "detective-stylus": "^4.0.0", - "detective-typescript": "^11.1.0", - "module-definition": "^5.0.1", - "node-source-walk": "^6.0.2" + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", + "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==", + "dev": true, + "dependencies": { + "@dependents/detective-less": "^5.0.1", + "commander": "^12.1.0", + "detective-amd": "^6.0.1", + "detective-cjs": "^6.0.1", + "detective-es6": "^5.0.1", + "detective-postcss": "^7.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0", + "detective-vue2": "^2.2.0", + "module-definition": "^6.0.1", + "node-source-walk": "^7.0.1", + "postcss": "^8.5.1", + "typescript": "^5.7.3" }, "bin": { "precinct": "bin/cli.js" }, "engines": { - "node": "^14.14.0 || >=16.0.0" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/precond": { @@ -32890,42 +35005,16 @@ "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/netlify-cli/node_modules/pretty-ms": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", - "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", "dev": true, "dependencies": { - "parse-ms": "^3.0.0" + "parse-ms": "^4.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -32949,6 +35038,7 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } @@ -32979,9 +35069,9 @@ } }, "node_modules/netlify-cli/node_modules/ps-list": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.0.tgz", - "integrity": "sha512-NoGBqJe7Ou3kfQxEvDzDyKGAyEgwIuD3YrfXinjcCmBRv0hTld0Xb71hrXvtsNPj7HSFATfemvzB8PPJtq6Yag==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.1.tgz", + "integrity": "sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -33001,10 +35091,11 @@ } }, "node_modules/netlify-cli/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "peer": true, "engines": { "node": ">=6" } @@ -33025,12 +35116,12 @@ } }, "node_modules/netlify-cli/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -33059,12 +35150,6 @@ } ] }, - "node_modules/netlify-cli/node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true - }, "node_modules/netlify-cli/node_modules/quick-format-unescaped": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", @@ -33090,9 +35175,9 @@ "dev": true }, "node_modules/netlify-cli/node_modules/radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", "dev": true }, "node_modules/netlify-cli/node_modules/random-bytes": { @@ -33114,14 +35199,14 @@ } }, "node_modules/netlify-cli/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", "dev": true, "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.4.24", + "iconv-lite": "0.6.3", "unpipe": "1.0.0" }, "engines": { @@ -33153,6 +35238,18 @@ "node": ">= 0.8" } }, + "node_modules/netlify-cli/node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/netlify-cli/node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -33168,12 +35265,6 @@ "rc": "cli.js" } }, - "node_modules/netlify-cli/node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/netlify-cli/node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -33183,12 +35274,6 @@ "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, "node_modules/netlify-cli/node_modules/read-package-up": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", @@ -33206,60 +35291,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "node_modules/netlify-cli/node_modules/read-package-up/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=18" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/read-pkg": { + "node_modules/netlify-cli/node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", @@ -33278,11 +35323,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/type-fest": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz", - "integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==", + "node_modules/netlify-cli/node_modules/read-pkg/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" }, @@ -33290,66 +35336,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-pkg-up": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz", - "integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^7.1.0", - "type-fest": "^2.5.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/read-pkg-up/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/read-pkg-up/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", - "integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -33385,15 +35371,17 @@ "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.1.0" } }, "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -33403,6 +35391,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -33411,15 +35400,16 @@ } }, "node_modules/netlify-cli/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/netlify-cli/node_modules/real-require": { @@ -33436,6 +35426,8 @@ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=4" } @@ -33445,6 +35437,8 @@ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "redis-errors": "^1.0.0" }, @@ -33482,7 +35476,7 @@ "node_modules/netlify-cli/node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, "node_modules/netlify-cli/node_modules/repeat-string": { @@ -33572,37 +35566,16 @@ } }, "node_modules/netlify-cli/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "onetime": "^2.0.0", + "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/restore-cursor/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/netlify-cli/node_modules/retry": { @@ -33610,6 +35583,7 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -33630,19 +35604,58 @@ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, - "node_modules/netlify-cli/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/netlify-cli/node_modules/rollup": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", "dev": true, + "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "glob": "^7.1.3" + "@types/estree": "1.0.7" }, "bin": { - "rimraf": "bin.js" + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/netlify-cli/node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/run-async": { @@ -33678,17 +35691,20 @@ } }, "node_modules/netlify-cli/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "tslib": "^2.1.0" } }, + "node_modules/netlify-cli/node_modules/rxjs/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, "node_modules/netlify-cli/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -33760,9 +35776,9 @@ "dev": true }, "node_modules/netlify-cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -33771,33 +35787,110 @@ "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/set-blocking": { + "node_modules/netlify-cli/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/netlify-cli/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/netlify-cli/node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/netlify-cli/node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/send/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/netlify-cli/node_modules/set-cookie-parser": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/netlify-cli/node_modules/set-error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-error-message/-/set-error-message-2.0.1.tgz", + "integrity": "sha512-s/eeP0f4ed1S3fl0KbxZoy5Pbeg5D6Nbple9nut4VPwHTvEIk5r7vKq0FwjNjszdUPdlTrs4GJCOkWUqWeTeWg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "normalize-exception": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16.17.0" } }, "node_modules/netlify-cli/node_modules/setprototypeof": { @@ -33888,15 +35981,69 @@ } }, "node_modules/netlify-cli/node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/netlify-cli/node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/netlify-cli/node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/netlify-cli/node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -33972,30 +36119,24 @@ "dev": true }, "node_modules/netlify-cli/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/slashes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", + "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "dev": true, + "license": "ISC" + }, "node_modules/netlify-cli/node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -34058,9 +36199,9 @@ } }, "node_modules/netlify-cli/node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -34068,9 +36209,9 @@ } }, "node_modules/netlify-cli/node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "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 }, "node_modules/netlify-cli/node_modules/spdx-expression-parse": { @@ -34084,11 +36225,20 @@ } }, "node_modules/netlify-cli/node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", "dev": true }, + "node_modules/netlify-cli/node_modules/split2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", + "integrity": "sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0" + } + }, "node_modules/netlify-cli/node_modules/stack-generator": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", @@ -34117,7 +36267,9 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "node_modules/netlify-cli/node_modules/statuses": { "version": "2.0.1", @@ -34129,31 +36281,23 @@ } }, "node_modules/netlify-cli/node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/netlify-cli/node_modules/streamx": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz", - "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", "dev": true, "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, "node_modules/netlify-cli/node_modules/string_decoder": { @@ -34194,15 +36338,6 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -34215,15 +36350,6 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/netlify-cli/node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -34264,16 +36390,10 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/strip-ansi-control-characters": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi-control-characters/-/strip-ansi-control-characters-2.0.0.tgz", - "integrity": "sha512-Q0/k5orrVGeaOlIOUn1gybGU0IcAbgHQT1faLo5hik4DqClKVSaka5xOhNNoRgtfztHVxCYxi7j71mrWom0bIw==", - "dev": true - }, "node_modules/netlify-cli/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "engines": { "node": ">=12" @@ -34334,28 +36454,32 @@ "dev": true }, "node_modules/netlify-cli/node_modules/supports-color": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", - "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", + "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/netlify-cli/node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/netlify-cli/node_modules/supports-hyperlinks/node_modules/supports-color": { @@ -34363,6 +36487,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -34428,46 +36553,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/tabtab": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz", - "integrity": "sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==", - "dev": true, - "dependencies": { - "debug": "^4.0.1", - "es6-promisify": "^6.0.0", - "inquirer": "^6.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "untildify": "^3.0.3" - } - }, "node_modules/netlify-cli/node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/netlify-cli/node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", + "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", "dev": true, + "license": "MIT", "dependencies": { - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" } }, "node_modules/netlify-cli/node_modules/tar-stream": { @@ -34482,97 +36597,44 @@ } }, "node_modules/netlify-cli/node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, "bin": { - "mkdirp": "bin/cmd.js" + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/temp-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", - "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", - "dev": true, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/tempy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", - "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", - "dev": true, - "dependencies": { - "is-stream": "^3.0.0", - "temp-dir": "^3.0.0", - "type-fest": "^2.12.2", - "unique-string": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/tempy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/netlify-cli/node_modules/terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-4.0.0.tgz", + "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" + "ansi-escapes": "^7.0.0", + "supports-hyperlinks": "^3.2.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "node_modules/netlify-cli/node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, "dependencies": { - "type-fest": "^1.0.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/terminal-link/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "b4a": "^1.6.4" } }, "node_modules/netlify-cli/node_modules/text-hex": { @@ -34581,6 +36643,15 @@ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "dev": true }, + "node_modules/netlify-cli/node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "dev": true, + "dependencies": { + "real-require": "^0.2.0" + } + }, "node_modules/netlify-cli/node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -34588,45 +36659,30 @@ "dev": true }, "node_modules/netlify-cli/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/netlify-cli/node_modules/through2-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-4.0.0.tgz", - "integrity": "sha512-P8IpQL19bSdXqGLvLdbidYRxERXgHEXGcQofPxbLpPkqS1ieOrUrocdYRTNv8YwSukaDJWr71s6F2kZ3bvgEhA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { - "through2": "^4.0.2" - }, - "engines": { - "node": ">= 6" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/netlify-cli/node_modules/through2-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/through2-map/-/through2-map-4.0.0.tgz", - "integrity": "sha512-+rpmDB5yckiBGEuqJSsWYWMs9e1zdksypDKvByysEyN+knhsPXV9Z6O2mA9meczIa6AON7bi2G3xWk5T8UG4zQ==", + "node_modules/netlify-cli/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { - "through2": "^4.0.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/netlify-cli/node_modules/time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "dev": true, - "engines": { - "node": ">=4" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "node_modules/netlify-cli/node_modules/tmp": { @@ -34651,24 +36707,12 @@ } }, "node_modules/netlify-cli/node_modules/tmp-promise/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/netlify-cli/node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=14.14" } }, "node_modules/netlify-cli/node_modules/to-regex-range": { @@ -34742,10 +36786,23 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", "dev": true }, + "node_modules/netlify-cli/node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/netlify-cli/node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -34785,36 +36842,12 @@ } } }, - "node_modules/netlify-cli/node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/netlify-cli/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/netlify-cli/node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/netlify-cli/node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -34827,18 +36860,6 @@ "node": "*" } }, - "node_modules/netlify-cli/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -34852,20 +36873,12 @@ "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/netlify-cli/node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -34875,10 +36888,11 @@ } }, "node_modules/netlify-cli/node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", - "dev": true + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" }, "node_modules/netlify-cli/node_modules/uid-safe": { "version": "2.1.5", @@ -34893,12 +36907,12 @@ } }, "node_modules/netlify-cli/node_modules/ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.0.tgz", + "integrity": "sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==", "dev": true, "bin": { - "ulid": "bin/cli.js" + "ulid": "dist/cli.js" } }, "node_modules/netlify-cli/node_modules/unbzip2-stream": { @@ -34921,32 +36935,8 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", "dev": true, - "dependencies": { - "consola": "^3.2.3", - "defu": "^6.1.3", - "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" - } - }, - "node_modules/netlify-cli/node_modules/unenv/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } + "license": "MIT" }, "node_modules/netlify-cli/node_modules/unicorn-magic": { "version": "0.1.0", @@ -34960,25 +36950,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dev": true, - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/netlify-cli/node_modules/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==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", "dev": true }, "node_modules/netlify-cli/node_modules/unix-dgram": { @@ -35030,12 +37005,12 @@ } }, "node_modules/netlify-cli/node_modules/untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/netlify-cli/node_modules/untun": { @@ -35076,131 +37051,6 @@ "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/configstore": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.0.0.tgz", - "integrity": "sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==", - "dev": true, - "dependencies": { - "atomically": "^2.0.3", - "dot-prop": "^9.0.0", - "graceful-fs": "^4.2.11", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "dev": true, - "dependencies": { - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/update-notifier/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/netlify-cli/node_modules/uqr": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", @@ -35212,6 +37062,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "peer": true, "dependencies": { "punycode": "^2.1.0" } @@ -35238,16 +37089,17 @@ } }, "node_modules/netlify-cli/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, "node_modules/netlify-cli/node_modules/v8-compile-cache-lib": { @@ -35267,15 +37119,13 @@ } }, "node_modules/netlify-cli/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, + "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/netlify-cli/node_modules/vary": { @@ -35374,6 +37224,15 @@ "node": ">=8" } }, + "node_modules/netlify-cli/node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/netlify-cli/node_modules/web-streams-polyfill": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", @@ -35383,14 +37242,11 @@ "node": ">= 8" } }, - "node_modules/netlify-cli/node_modules/well-known-symbols": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", - "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/netlify-cli/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/netlify-cli/node_modules/whatwg-url": { "version": "5.0.0", @@ -35402,12 +37258,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/netlify-cli/node_modules/whatwg-url/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, "node_modules/netlify-cli/node_modules/when-exit": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.3.tgz", @@ -35435,60 +37285,122 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/netlify-cli/node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/netlify-cli/node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", "dev": true, "dependencies": { - "string-width": "^5.0.1" + "string-width": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, "node_modules/netlify-cli/node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/netlify-cli/node_modules/windows-release": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-5.0.1.tgz", - "integrity": "sha512-y1xFdFvdMiDXI3xiOhMbJwt1Y7dUxidha0CWPs1NgjZIjZANTcX7+7bMqNjuezhzb8s5JGEiBAbQjQQYYy7ulw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-6.1.0.tgz", + "integrity": "sha512-1lOb3qdzw6OFmOzoY0nauhLG72TpWtb5qgYPiSh/62rjc1XidBSDio2qw0pwHh17VINF217ebIkZJdFLZFn9SA==", + "dev": true, + "dependencies": { + "execa": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "execa": "^5.1.1" + "path-key": "^4.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -35497,6 +37409,45 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/netlify-cli/node_modules/winston": { "version": "3.13.0", "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", @@ -35711,9 +37662,9 @@ } }, "node_modules/netlify-cli/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -35784,10 +37735,25 @@ } }, "node_modules/netlify-cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/netlify-cli/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } }, "node_modules/netlify-cli/node_modules/yargs": { "version": "17.7.2", @@ -35807,6 +37773,15 @@ "node": ">=12" } }, + "node_modules/netlify-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/netlify-cli/node_modules/yargs/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -35833,15 +37808,6 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/netlify-cli/node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -35900,9 +37866,9 @@ } }, "node_modules/netlify-cli/node_modules/zip-stream/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", @@ -35945,14 +37911,27 @@ } }, "node_modules/netlify-cli/node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/netlify-cli/site": { + "name": "cli-docs-site", + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@astrojs/starlight": "^0.31.1", + "astro": "^5.1.5", + "markdown-magic": "2.6.1", + "sharp": "^0.32.5", + "strip-ansi": "7.1.0" + } + }, "node_modules/netlify-cli/tools/lint-rules": { "name": "eslint-plugin-workspace", "extraneous": true @@ -36165,26 +38144,26 @@ } }, "node_modules/npm": { - "version": "8.19.4", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz", - "integrity": "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==", + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-11.4.2.tgz", + "integrity": "sha512-+QweyLIHtiXW7bZpOu8j2ss5w45CF/6MRqlz8RnKs5KsDeI/4/B+WDGI2un9kQizhFrW9SW1mHQr0GDrrWC/8w==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", - "@npmcli/ci-detect", "@npmcli/config", "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", "@npmcli/run-script", + "@sigstore/tuf", "abbrev", "archy", "cacache", "chalk", - "chownr", + "ci-info", "cli-columns", - "cli-table3", - "columnify", "fastest-levenshtein", "fs-minipass", "glob", @@ -36198,7 +38177,6 @@ "libnpmdiff", "libnpmexec", "libnpmfund", - "libnpmhook", "libnpmorg", "libnpmpack", "libnpmpublish", @@ -36209,11 +38187,10 @@ "minimatch", "minipass", "minipass-pipeline", - "mkdirp", - "mkdirp-infer-owner", "ms", "node-gyp", "nopt", + "normalize-package-data", "npm-audit-report", "npm-install-checks", "npm-package-arg", @@ -36221,116 +38198,106 @@ "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", + "spdx-expression-parse", "ssri", + "supports-color", "tar", "text-table", "tiny-relative-date", "treeverse", "validate-npm-package-name", - "which", - "write-file-atomic" + "which" ], "dev": true, "license": "Artistic-2.0", "workspaces": [ "docs", "smoke-tests", + "mock-globals", + "mock-registry", "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", + "@npmcli/arborist": "^9.1.2", + "@npmcli/config": "^10.3.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", - "cacache": "^16.1.3", - "chalk": "^4.1.2", - "chownr": "^2.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "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", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^8.2.1", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^10.0.1", + "libnpmdiff": "^8.0.5", + "libnpmexec": "^10.1.4", + "libnpmfund": "^7.0.5", + "libnpmorg": "^8.0.0", + "libnpmpack": "^9.0.5", + "libnpmpublish": "^11.0.1", + "libnpmsearch": "^9.0.0", + "libnpmteam": "^8.0.1", + "libnpmversion": "^8.0.1", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", "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", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^21.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", "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", + "read": "^4.1.0", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", + "supports-color": "^10.0.0", + "tar": "^6.2.1", "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" + "treeverse": "^3.0.0", + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm-package-arg": { @@ -36389,341 +38356,460 @@ "npm-watch": "cli.js" } }, - "node_modules/npm/node_modules/@colors/colors": { - "version": "1.5.0", + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=0.1.90" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/npm/node_modules/@gar/promisify": { - "version": "1.1.3", + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "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/agent": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "5.6.3", + "version": "9.1.2", "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", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^9.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^5.2.1", - "json-parse-even-better-errors": "^2.3.1", + "hosted-git-info": "^8.0.0", "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", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^21.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.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", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^9.0.0", - "treeverse": "^2.0.0", - "walk-up-path": "^1.0.0" + "ssri": "^12.0.0", + "treeverse": "^3.0.0", + "walk-up-path": "^4.0.0" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/@npmcli/ci-detect": { - "version": "2.0.0", + "node_modules/npm/node_modules/@npmcli/config": { + "version": "10.3.0", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.1.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "walk-up-path": "^4.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/@npmcli/config": { - "version": "4.2.2", + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "4.0.0", "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" + "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "2.0.0", + "node_modules/npm/node_modules/@npmcli/git": { + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "ansi-styles": "^4.3.0" + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/fs": { - "version": "2.1.2", + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/git": { - "version": "3.0.2", + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "4.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" + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "9.0.0", "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" + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^21.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">= 10" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": { - "version": "1.1.2", + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "2.0.4", + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "6.2.0", "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" + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "3.1.1", + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", "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" + "which": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "2.0.1", + "node_modules/npm/node_modules/@npmcli/query": { + "version": "4.0.1", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/name-from-folder": { - "version": "1.0.1", + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.2.2", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "2.0.0", + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "2.0.0", + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "json-parse-even-better-errors": "^2.3.1" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", + "node_modules/npm/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "infer-owner": "^1.0.4" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/query": { - "version": "1.2.0", + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "npm-package-arg": "^9.1.0", - "postcss-selector-parser": "^6.0.10", - "semver": "^7.3.7" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "4.2.1", + "node_modules/npm/node_modules/@sigstore/verify": { + "version": "2.1.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "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" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@tootallnate/once": { + "node_modules/npm/node_modules/@tufjs/canonical-json": { "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "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", + "node_modules/npm/node_modules/@tufjs/models": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "debug": "4" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" }, "engines": { - "node": ">= 6.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/agentkeepalive": { - "version": "4.2.1", + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, + "license": "ISC", "engines": { - "node": ">= 8.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 14" } }, "node_modules/npm/node_modules/ansi-regex": { @@ -36736,15 +38822,12 @@ } }, "node_modules/npm/node_modules/ansi-styles": { - "version": "4.3.0", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -36762,124 +38845,141 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/are-we-there-yet": { - "version": "3.0.1", + "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": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/asap": { - "version": "2.0.6", + "node_modules/npm/node_modules/binary-extensions": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/npm/node_modules/balanced-match": { - "version": "1.0.2", + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.2", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/npm/node_modules/bin-links": { - "version": "3.0.3", + "node_modules/npm/node_modules/cacache": { + "version": "19.0.1", "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" + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/bin-links/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=18" } }, - "node_modules/npm/node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/npm/node_modules/cacache/node_modules/minizlib": { + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/builtins": { - "version": "5.0.1", + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "semver": "^7.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" } }, - "node_modules/npm/node_modules/cacache": { - "version": "16.1.3", + "node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", "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" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=18" } }, "node_modules/npm/node_modules/chalk": { - "version": "4.1.2", + "version": "5.4.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -36894,25 +38994,31 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/cidr-regex": { - "version": "3.1.1", + "node_modules/npm/node_modules/ci-info": { + "version": "4.2.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "inBundle": true, - "license": "BSD-2-Clause", - "dependencies": { - "ip-regex": "^4.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.1.3", "dev": true, "inBundle": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, "engines": { - "node": ">=6" + "node": ">=14" } }, "node_modules/npm/node_modules/cli-columns": { @@ -36928,40 +39034,13 @@ "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", + "version": "7.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": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -36982,45 +39061,40 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/color-support": { - "version": "1.1.3", + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", "dev": true, "inBundle": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } + "license": "ISC" }, - "node_modules/npm/node_modules/columnify": { - "version": "1.6.0", + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">= 8" } }, - "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", + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", @@ -37035,12 +39109,12 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.4", + "version": "4.4.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -37051,64 +39125,21 @@ } } }, - "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", + "node_modules/npm/node_modules/diff": { + "version": "7.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": "*" - } - }, - "node_modules/npm/node_modules/defaults": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" + "node": ">=0.3.1" } }, - "node_modules/npm/node_modules/delegates": { - "version": "1.0.0", + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.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, @@ -37140,159 +39171,117 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, "node_modules/npm/node_modules/fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } }, - "node_modules/npm/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm/node_modules/foreground-child": { + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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", + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", "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" + "minipass": "^7.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/glob": { - "version": "8.0.3", + "version": "10.4.5", "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" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "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", + "version": "4.2.11", "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "5.2.1", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "5.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "5.0.1", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "6", + "agent-base": "^7.1.2", "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": ">= 14" } }, "node_modules/npm/node_modules/iconv-lite": { @@ -37309,15 +39298,15 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "5.0.1", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^5.0.1" + "minimatch": "^9.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -37329,101 +39318,68 @@ "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", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "3.0.2", + "version": "8.2.1", "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", + "@npmcli/package-json": "^6.1.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/ip": { - "version": "2.0.0", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/npm/node_modules/ip-regex": { - "version": "4.3.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/is-cidr": { - "version": "4.0.2", + "version": "5.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "^3.1.1" + "cidr-regex": "^4.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": ">=14" } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { @@ -37435,24 +39391,42 @@ "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", + "node_modules/npm/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", "dev": true, "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", "dev": true, @@ -37472,223 +39446,210 @@ "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { - "version": "5.1.1", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { - "version": "5.4.1", + "version": "5.5.0", "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "6.0.4", + "version": "10.0.1", "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" + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "4.0.5", + "version": "8.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" + "@npmcli/arborist": "^9.1.2", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^3.0.0", + "diff": "^7.0.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0", + "tar": "^6.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "4.0.14", + "version": "10.1.4", "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", + "@npmcli/arborist": "^9.1.2", + "@npmcli/package-json": "^6.1.1", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "walk-up-path": "^1.0.0" + "walk-up-path": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.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", + "version": "7.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "@npmcli/arborist": "^9.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "4.0.4", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "4.1.3", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/run-script": "^4.1.3", - "npm-package-arg": "^9.0.1", - "pacote": "^13.6.1" + "@npmcli/arborist": "^9.1.2", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "6.0.5", + "version": "11.0.1", "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", + "@npmcli/package-json": "^6.2.0", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", "semver": "^7.3.7", - "ssri": "^9.0.0" + "sigstore": "^3.0.0", + "ssri": "^12.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "5.0.4", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "4.0.4", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^13.0.0" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "3.0.7", + "version": "8.0.1", "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", + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "7.13.2", + "version": "10.4.3", "dev": true, "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=12" - } + "license": "ISC" }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "10.2.1", + "version": "14.0.3", "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", + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" + "ssri": "^12.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, "node_modules/npm/node_modules/minimatch": { - "version": "5.1.0", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -37696,50 +39657,62 @@ "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/minipass": { - "version": "3.3.4", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-collect": { - "version": "1.0.2", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "2.1.1", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.1.6", + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minizlib": "^3.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, + "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", "dev": true, @@ -37752,14 +39725,16 @@ "node": ">= 8" } }, - "node_modules/npm/node_modules/minipass-json-stream": { - "version": "1.0.1", + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/npm/node_modules/minipass-pipeline": { @@ -37774,6 +39749,18 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", "dev": true, @@ -37786,6 +39773,18 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", "dev": true, @@ -37799,27 +39798,25 @@ "node": ">= 8" } }, - "node_modules/npm/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/npm/node_modules/mkdirp-infer-owner": { - "version": "2.0.0", + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" @@ -37832,166 +39829,152 @@ "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", + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">= 0.6" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/node-gyp": { - "version": "9.1.0", + "version": "11.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", - "glob": "^7.1.4", + "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.22 || ^14.13 || >=16" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/glob": { - "version": "7.2.3", + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", "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" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": "*" + "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { "version": "5.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=6" + "node": ">=18" } }, "node_modules/npm/node_modules/nopt": { - "version": "6.0.0", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^1.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "4.0.1", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "3.0.0", + "version": "6.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": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "2.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-normalize-package-bin": "^2.0.0" + "npm-normalize-package-bin": "^4.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": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "5.0.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -37999,226 +39982,203 @@ "semver": "^7.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "9.1.0", + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "5.1.3", + "version": "10.0.0", "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" + "ignore-walk": "^7.0.0" }, "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": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "7.0.2", + "version": "10.0.0", "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", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.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": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "6.2.1", + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0" + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "version": "18.0.2", "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" + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.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", + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { + "version": "3.0.2", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "minipass": "^7.1.2" }, "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": ">= 18" } }, - "node_modules/npm/node_modules/opener": { - "version": "1.5.2", + "node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" + "license": "BSD-2-Clause", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, "node_modules/npm/node_modules/pacote": { - "version": "13.6.2", + "version": "21.0.0", "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", - "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", + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.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", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "2.0.2", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.1", - "just-diff": "^5.0.1", + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.10", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -38231,12 +40191,21 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "2.0.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/promise-all-reject-late": { @@ -38249,7 +40218,7 @@ } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "1.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -38257,12 +40226,6 @@ "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, @@ -38277,12 +40240,15 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "0.3.0", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "read": "1" + "read": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/qrcode-terminal": { @@ -38294,87 +40260,37 @@ } }, "node_modules/npm/node_modules/read": { - "version": "1.0.7", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "mute-stream": "~0.0.4" + "mute-stream": "^2.0.0" }, "engines": { - "node": ">=0.8" + "node": "^18.17.0 || >=20.5.0" } }, "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", + "version": "5.0.0", "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": "^18.17.0 || >=20.5.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", + "version": "4.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" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "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": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/retry": { @@ -38386,129 +40302,75 @@ "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", + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "optional": true }, - "node_modules/npm/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", + "node_modules/npm/node_modules/semver": { + "version": "7.7.2", "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" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "shebang-regex": "^3.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "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", + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", - "optional": true + "engines": { + "node": ">=8" + } }, - "node_modules/npm/node_modules/semver": { - "version": "7.3.7", + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/npm/node_modules/sigstore": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { - "node": ">=10" + "node": "^18.17.0 || >=20.5.0" } }, - "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, @@ -38520,35 +40382,35 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.7.0", + "version": "2.8.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">= 10" + "node": ">= 14" } }, "node_modules/npm/node_modules/spdx-correct": { - "version": "3.1.1", + "version": "3.2.0", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -38557,14 +40419,24 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/npm/node_modules/spdx-correct/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-exceptions": { - "version": "2.3.0", + "version": "2.5.0", "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -38574,33 +40446,45 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.11", + "version": "3.0.21", "dev": true, "inBundle": true, "license": "CC0-1.0" }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, "node_modules/npm/node_modules/ssri": { - "version": "9.0.1", + "version": "12.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.1.1" + "minipass": "^7.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "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/string-width": { + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "dev": true, "inBundle": true, @@ -38626,33 +40510,79 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, + "node_modules/npm/node_modules/supports-color": { + "version": "10.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/npm/node_modules/tar": { - "version": "6.1.11", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + } + }, + "node_modules/npm/node_modules/tar/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/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" } }, "node_modules/npm/node_modules/text-table": { @@ -38667,29 +40597,85 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/npm/node_modules/treeverse": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-filename": { - "version": "2.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "unique-slug": "^3.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-slug": { - "version": "3.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -38697,7 +40683,7 @@ "imurmurhash": "^0.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/util-deprecate": { @@ -38716,74 +40702,169 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/npm/node_modules/validate-npm-package-license/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/validate-npm-package-name": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/npm/node_modules/which": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "builtins": "^5.0.0" + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/walk-up-path": { - "version": "1.0.0", + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=16" + } }, - "node_modules/npm/node_modules/wcwidth": { - "version": "1.0.1", + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "defaults": "^1.0.3" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/which": { - "version": "2.0.2", + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "bin": { - "node-which": "bin/node-which" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/wide-align": { - "version": "1.1.5", + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/wrappy": { - "version": "1.0.2", + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", "dev": true, "inBundle": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "4.0.2", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/yallist": { @@ -38800,19 +40881,18 @@ "license": "MIT" }, "node_modules/nx": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.3.tgz", - "integrity": "sha512-ZUrnRwPdRWXeo8IuLj16Oo9IfiDjd8C6xKWC4F6wcTNZ9ZS7ZErrfqaQr04zdO89ASF9brbkqm0UkMyDPc6kPQ==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.2.tgz", + "integrity": "sha512-SP+gojzJhvUfGPw94myECAvF+a7KDQe8c1HUr2HOPR20oSukpdhZM2B1Ki4FGUUuzOcCILhNT2QHLo82+FGLng==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { "@napi-rs/wasm-runtime": "0.2.4", - "@nrwl/tao": "19.5.3", "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", + "@yarnpkg/parsers": "3.0.2", "@zkochan/js-yaml": "0.0.7", - "axios": "^1.6.0", + "axios": "^1.8.3", "chalk": "^4.1.0", "cli-cursor": "3.1.0", "cli-spinners": "2.6.1", @@ -38823,23 +40903,24 @@ "figures": "3.2.0", "flat": "^5.0.2", "front-matter": "^4.0.2", - "fs-extra": "^11.1.0", "ignore": "^5.0.4", "jest-diff": "^29.4.1", "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", + "lines-and-columns": "2.0.3", "minimatch": "9.0.3", "node-machine-id": "1.1.12", "npm-run-path": "^4.0.1", "open": "^8.4.0", "ora": "5.3.0", + "resolve.exports": "2.0.3", "semver": "^7.5.3", "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", "tar-stream": "~2.2.0", "tmp": "~0.2.1", + "tree-kill": "^1.2.2", "tsconfig-paths": "^4.1.2", "tslib": "^2.3.0", + "yaml": "^2.6.0", "yargs": "^17.6.2", "yargs-parser": "21.1.1" }, @@ -38848,16 +40929,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.5.3", - "@nx/nx-darwin-x64": "19.5.3", - "@nx/nx-freebsd-x64": "19.5.3", - "@nx/nx-linux-arm-gnueabihf": "19.5.3", - "@nx/nx-linux-arm64-gnu": "19.5.3", - "@nx/nx-linux-arm64-musl": "19.5.3", - "@nx/nx-linux-x64-gnu": "19.5.3", - "@nx/nx-linux-x64-musl": "19.5.3", - "@nx/nx-win32-arm64-msvc": "19.5.3", - "@nx/nx-win32-x64-msvc": "19.5.3" + "@nx/nx-darwin-arm64": "21.2.2", + "@nx/nx-darwin-x64": "21.2.2", + "@nx/nx-freebsd-x64": "21.2.2", + "@nx/nx-linux-arm-gnueabihf": "21.2.2", + "@nx/nx-linux-arm64-gnu": "21.2.2", + "@nx/nx-linux-arm64-musl": "21.2.2", + "@nx/nx-linux-x64-gnu": "21.2.2", + "@nx/nx-linux-x64-musl": "21.2.2", + "@nx/nx-win32-arm64-msvc": "21.2.2", + "@nx/nx-win32-x64-msvc": "21.2.2" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -38889,9 +40970,9 @@ } }, "node_modules/nx/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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -38961,21 +41042,6 @@ "node": ">=8.6" } }, - "node_modules/nx/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -38993,19 +41059,6 @@ "dev": true, "license": "MIT" }, - "node_modules/nx/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/nx/node_modules/minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", @@ -39022,6 +41075,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/nx/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/nx/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -39048,16 +41111,6 @@ "node": ">=8" } }, - "node_modules/nx/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -39750,20 +41803,20 @@ } }, "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/pend": { @@ -39774,9 +41827,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, "license": "ISC" }, @@ -39895,15 +41948,15 @@ } }, "node_modules/pkg-types": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz", - "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, "license": "MIT", "dependencies": { "confbox": "^0.1.8", - "mlly": "^1.7.2", - "pathe": "^1.1.2" + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, "node_modules/please-upgrade-node": { @@ -39985,9 +42038,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -40005,8 +42058,8 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -40416,6 +42469,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -40611,13 +42681,6 @@ "node": ">=4" } }, - "node_modules/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, - "license": "MIT" - }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", @@ -41147,9 +43210,9 @@ } }, "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, "license": "MIT", "dependencies": { @@ -41802,9 +43865,9 @@ } }, "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", "dev": true, "license": "MIT", "dependencies": { @@ -41813,7 +43876,7 @@ "totalist": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" } }, "node_modules/sisteransi": { @@ -42311,9 +44374,9 @@ } }, "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, @@ -42526,22 +44589,22 @@ } }, "node_modules/strip-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", - "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", "dev": true, "license": "MIT", "dependencies": { - "js-tokens": "^9.0.0" + "js-tokens": "^9.0.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", - "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, "license": "MIT" }, @@ -42902,10 +44965,72 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinypool": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", - "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, "license": "MIT", "engines": { @@ -42913,9 +45038,9 @@ } }, "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "dev": true, "license": "MIT", "engines": { @@ -42939,16 +45064,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -43422,23 +45537,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/typedoc/node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -43638,13 +45740,13 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unset-value": { @@ -43861,16 +45963,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -43882,21 +45974,24 @@ } }, "node_modules/vite": { - "version": "5.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.9.tgz", - "integrity": "sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -43905,19 +46000,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", - "terser": "^5.4.0" + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -43938,49 +46039,54 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, "node_modules/vite-node": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", - "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/vite-plugin-dts": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-3.8.3.tgz", - "integrity": "sha512-yRHiRosQw7MXdOhmcrVI+kRiB8YEShbSxnADNteK4eZGdEoyOkMHihvO5XOAVlOq8ng9sIqu8vVefDK1zcj3qw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", + "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor": "7.43.0", - "@rollup/pluginutils": "^5.1.0", - "@vue/language-core": "^1.8.27", - "debug": "^4.3.4", + "@microsoft/api-extractor": "^7.50.1", + "@rollup/pluginutils": "^5.1.4", + "@volar/typescript": "^2.4.11", + "@vue/language-core": "2.2.0", + "compare-versions": "^6.1.1", + "debug": "^4.4.0", "kolorist": "^1.8.0", - "magic-string": "^0.30.8", - "vue-tsc": "^1.8.27" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17" }, "peerDependencies": { "typescript": "*", @@ -43993,15 +46099,15 @@ } }, "node_modules/vite-plugin-dts/node_modules/@rollup/pluginutils": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", - "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "picomatch": "^4.0.2" }, "engines": { "node": ">=14.0.0" @@ -44016,37 +46122,122 @@ } }, "node_modules/vite-plugin-dts/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-dts/node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", "dev": true, "license": "MIT" }, + "node_modules/vite-plugin-dts/node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-dts/node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/vite-plugin-dts/node_modules/magic-string": { - "version": "0.30.12", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", - "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/vite-plugin-dts/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vite-plugin-dts/node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, "node_modules/vite/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vite/node_modules/rollup": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", - "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", + "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -44056,67 +46247,75 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.0", - "@rollup/rollup-android-arm64": "4.24.0", - "@rollup/rollup-darwin-arm64": "4.24.0", - "@rollup/rollup-darwin-x64": "4.24.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", - "@rollup/rollup-linux-arm-musleabihf": "4.24.0", - "@rollup/rollup-linux-arm64-gnu": "4.24.0", - "@rollup/rollup-linux-arm64-musl": "4.24.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", - "@rollup/rollup-linux-riscv64-gnu": "4.24.0", - "@rollup/rollup-linux-s390x-gnu": "4.24.0", - "@rollup/rollup-linux-x64-gnu": "4.24.0", - "@rollup/rollup-linux-x64-musl": "4.24.0", - "@rollup/rollup-win32-arm64-msvc": "4.24.0", - "@rollup/rollup-win32-ia32-msvc": "4.24.0", - "@rollup/rollup-win32-x64-msvc": "4.24.0", + "@rollup/rollup-android-arm-eabi": "4.44.2", + "@rollup/rollup-android-arm64": "4.44.2", + "@rollup/rollup-darwin-arm64": "4.44.2", + "@rollup/rollup-darwin-x64": "4.44.2", + "@rollup/rollup-freebsd-arm64": "4.44.2", + "@rollup/rollup-freebsd-x64": "4.44.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", + "@rollup/rollup-linux-arm-musleabihf": "4.44.2", + "@rollup/rollup-linux-arm64-gnu": "4.44.2", + "@rollup/rollup-linux-arm64-musl": "4.44.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-musl": "4.44.2", + "@rollup/rollup-linux-s390x-gnu": "4.44.2", + "@rollup/rollup-linux-x64-gnu": "4.44.2", + "@rollup/rollup-linux-x64-musl": "4.44.2", + "@rollup/rollup-win32-arm64-msvc": "4.44.2", + "@rollup/rollup-win32-ia32-msvc": "4.44.2", + "@rollup/rollup-win32-x64-msvc": "4.44.2", "fsevents": "~2.3.2" } }, "node_modules/vitest": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", - "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "1.6.0", - "@vitest/runner": "1.6.0", - "@vitest/snapshot": "1.6.0", - "@vitest/spy": "1.6.0", - "@vitest/utils": "1.6.0", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.3", - "vite": "^5.0.0", - "vite-node": "1.6.0", - "why-is-node-running": "^2.2.2" + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.6.0", - "@vitest/ui": "1.6.0", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", "happy-dom": "*", "jsdom": "*" }, @@ -44124,6 +46323,9 @@ "@edge-runtime/vm": { "optional": true }, + "@types/debug": { + "optional": true + }, "@types/node": { "optional": true }, @@ -44141,201 +46343,79 @@ } } }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vitest/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/vitest/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/vitest/node_modules/magic-string": { - "version": "0.30.12", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", - "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/vitest/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" + "url": "https://opencollective.com/vitest" }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/vitest/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/vitest/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/estree": "^1.0.0" } }, - "node_modules/vitest/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/vitest/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, - "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", - "semver": "^7.5.4" - }, - "bin": { - "vue-tsc": "bin/vue-tsc.js" - }, - "peerDependencies": { - "typescript": "*" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/vue-tsc/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, "node_modules/w3c-hr-time": { "version": "1.0.2", @@ -44876,13 +46956,16 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14.6" } }, "node_modules/yargs": { @@ -44935,51 +47018,6 @@ "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z-schema": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", - "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^13.7.0" - }, - "bin": { - "z-schema": "bin/z-schema" - }, - "engines": { - "node": ">=8.0.0" - }, - "optionalDependencies": { - "commander": "^9.4.1" - } - }, - "node_modules/z-schema/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, "packages/millicast-chromecast-receiver": {}, "packages/millicast-multiview-demo": {}, "packages/millicast-publisher-demo": {}, diff --git a/package.json b/package.json index 86338cfd..42e31513 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@dolbyio/webrtc-stats": "^1.0.4", - "@types/node": "^18.11.10", + "@types/node": "^24.0.12", "@types/ua-parser-js": "^0.7.39", "buffer": "^6.0.3", "events": "^3.3.0", @@ -54,7 +54,7 @@ "@nx/eslint-plugin": "19.5.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", - "@nx/vite": "19.5.3", + "@nx/vite": "21.2.2", "@nx/web": "19.5.3", "@nx/workspace": "19.5.3", "@rollup/plugin-babel": "^5.3.0", @@ -69,16 +69,16 @@ "@types/node": "18.16.9", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", - "@vitest/ui": "^1.3.1", + "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", - "dotenv": "^8.2.0", - "eslint": "^8.57.0", + "dotenv": "^17.2.0", + "eslint": "^8.2.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.6.0", + "eslint-plugin-jest": "^28.13.3", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.6.0", "husky": "^4.3.8", @@ -86,9 +86,9 @@ "jsdom": "~22.1.0", "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", - "netlify-cli": "^17.15.6", - "npm": "^8.11.0", - "nx": "19.5.3", + "netlify-cli": "^22.2.2", + "npm": "^11.4.2", + "nx": "21.2.2", "prettier": "^2.6.2", "puppeteer": "^21.6.1", "serve": "^14.2.1", @@ -97,10 +97,10 @@ "ts-node": "10.9.1", "typedoc": "^0.28.5", "typedoc-plugin-mdn-links": "^5.0.2", - "typescript": "^5.6.3", + "typescript": "^5.8.3", "underscore": "^1.13.1", - "vite": "^5.2.10", - "vite-plugin-dts": "~3.8.1", - "vitest": "^1.3.1" + "vite": "^6.0.0", + "vite-plugin-dts": "^4.5.4", + "vitest": "^3.0.0" } } diff --git a/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js b/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js index 3d6ca44c..4912b419 100644 --- a/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js +++ b/packages/millicast-sdk/tests/unit/LoggerHandlers.steps.js @@ -35,7 +35,7 @@ defineFeature(feature, (test) => { }) then('custom handler does not receive any message', async () => { - expect(handler).not.toBeCalled() + expect(handler).not.toHaveBeenCalled() }) }) From 589f9bb976c924dbf267a4813a371d6be6040b1c Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 14 Jul 2025 16:20:15 -0700 Subject: [PATCH 10/22] Update dependencies for eslint Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .eslintignore | 13 - .eslintrc.json | 63 - eslint.config.js | 85 + package-lock.json | 6730 ++++------------- package.json | 18 +- packages/millicast-sdk/.eslintignore | 2 - packages/millicast-sdk/.eslintrc.json | 45 - packages/millicast-sdk/eslint.config.js | 61 + packages/millicast-sdk/src/Logger.ts | 3 +- packages/millicast-sdk/src/Signaling.ts | 91 +- packages/millicast-sdk/src/Viewer.ts | 2 +- packages/millicast-sdk/src/index.ts | 4 +- .../src/types/Publisher.types.ts | 1 + packages/millicast-sdk/src/types/events.ts | 2 + packages/millicast-sdk/src/utils/Codecs.ts | 2 +- .../src/utils/TypedEventEmitter.ts | 6 +- .../millicast-sdk/src/utils/Validators.ts | 1 + packages/millicast-sdk/tests/e2e/ViewTest.js | 1 + .../tests/unit/Validator.test.ts | 1 + 19 files changed, 1888 insertions(+), 5243 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.json create mode 100644 eslint.config.js delete mode 100644 packages/millicast-sdk/.eslintignore delete mode 100644 packages/millicast-sdk/.eslintrc.json create mode 100644 packages/millicast-sdk/eslint.config.js diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index a3221b50..00000000 --- a/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -.vscode -.github -/**/*.d.ts -/**/node_modules/** -dist -coverage/** -docs -packages/millicast-publisher-demo -packages/millicast-viewer-demo -packages/millicast-chromecast-receiver -packages/millicast-multiview-demo -/**/src/*.worker.js -/**/rtc-drm-transform.min.js \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index c9fb1709..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "root": true, - "plugins": ["@nx"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": { - "@nx/enforce-module-boundaries": [ - "error", - { - "enforceBuildableLibDependency": true, - "allow": [], - "depConstraints": [ - { - "sourceTag": "*", - "onlyDependOnLibsWithTags": ["*"] - } - ] - } - ] - } - }, - { - "files": ["*.ts", "*.tsx"], - "extends": ["plugin:@nx/typescript"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "extends": ["plugin:@nx/javascript"], - "rules": {} - }, - { - "files": [ - "*.spec.ts", - "*.spec.tsx", - "*.spec.js", - "*.spec.jsx", - "*.steps.js", - "*.test.js", - "**/__mocks__/**" - ], - "env": { - "jest": true - }, - "rules": { - "@typescript-eslint/no-empty-function": [ - "error", - { - "allow": [ - "functions", // Allows regular function declarations - "arrowFunctions", // Allows empty arrow functions - "methods", // Allows empty methods (e.g., in classes) - "constructors", // Allows empty constructors - "private-constructors", // Allows empty private constructors - "protected-constructors" // Allows empty protected constructors - ] - } - ] - } - } - ] -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..33b167b3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,85 @@ +const nxPlugin = require("@nx/eslint-plugin"); +const tseslint = require("@typescript-eslint/eslint-plugin"); + +module.exports = [ + { + plugins: { + "@nx": nxPlugin, + '@typescript-eslint': tseslint, + } + }, + { + ignores: [ + ".vscode", + ".github", + "/**/*.d.ts", + "/**/node_modules/**", + "dist", + "coverage/**", + "docs", + "packages/millicast-publisher-demo", + "packages/millicast-viewer-demo", + "packages/millicast-chromecast-receiver", + "packages/millicast-multiview-demo", + "/**/src/*.worker.js", + "/**/rtc-drm-transform.min.js", + ], + }, + { + files: ["*.ts", "*.tsx", "*.js", "*.jsx"], + rules: { + "@nx/enforce-module-boundaries": [ + "error", + { + enforceBuildableLibDependency: true, + allow: [], + depConstraints: [ + { + sourceTag: "*", + onlyDependOnLibsWithTags: ["*"] + } + ] + } + ] + } + }, + { + files: ["*.ts", "*.tsx"], + rules: {} + }, + { + files: ["*.js", "*.jsx"], + rules: {} + }, + { + files: [ + "*.spec.ts", + "*.spec.tsx", + "*.spec.js", + "*.spec.jsx", + "*.steps.js", + "*.test.js", + "**/__mocks__/**" + ], + languageOptions: { + globals: { + "jest": true + }, + }, + rules: { + "@typescript-eslint/no-empty-function": [ + "error", + { + allow: [ + "functions", // Allows regular function declarations + "arrowFunctions", // Allows empty arrow functions + "methods", // Allows empty methods (e.g., in classes) + "constructors", // Allows empty constructors + "private-constructors", // Allows empty private constructors + "protected-constructors" // Allows empty protected constructors + ] + } + ] + } + } +]; diff --git a/package-lock.json b/package-lock.json index c8fd0010..d3ab5b4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,8 +33,8 @@ "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.8.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "19.5.3", - "@nx/eslint-plugin": "19.5.3", + "@nx/eslint": "21.2.2", + "@nx/eslint-plugin": "21.2.2", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -50,20 +50,20 @@ "@swc/jest": "~0.2.36", "@types/jest": "^29.4.0", "@types/node": "18.16.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^8.36.0", + "@typescript-eslint/parser": "^8.36.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", - "eslint": "^8.2.0", + "eslint": "^9.30.1", "eslint-config-standard": "^17.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.13.3", - "eslint-plugin-n": "^16.6.2", - "eslint-plugin-promise": "^6.6.0", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jest": "^29.0.1", + "eslint-plugin-n": "^17.21.0", + "eslint-plugin-promise": "^7.2.1", "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", @@ -2493,35 +2493,76 @@ } }, "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==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", + "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2576,11 +2617,51 @@ } }, "node_modules/@eslint/js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz", - "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz", + "integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==", "dev": true, "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", + "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.15.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -2616,20 +2697,42 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/module-importer": { @@ -2646,13 +2749,19 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -2699,82 +2808,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", @@ -2823,82 +2856,6 @@ } } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", @@ -3033,82 +2990,6 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -3196,82 +3077,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/types": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", @@ -3290,82 +3095,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -3859,23 +3588,6 @@ "node": ">= 10" } }, - "node_modules/@nrwl/devkit/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nrwl/devkit/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -3886,46 +3598,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nrwl/devkit/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nrwl/devkit/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/@nrwl/devkit/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -3953,17 +3625,6 @@ "node": ">=8.6" } }, - "node_modules/@nrwl/devkit/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@nrwl/devkit/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -4085,30 +3746,6 @@ "node": ">=10" } }, - "node_modules/@nrwl/devkit/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nrwl/eslint-plugin-nx": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.5.3.tgz", - "integrity": "sha512-z1JY22vsZERg+Qer25EU30k0cgAy0xER2l7eGWc5nXN8tKkyvPrqdN1m1GGl/+JPWjSUyV2ybVSqTBpUbrfwXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/eslint-plugin": "19.5.3" - } - }, "node_modules/@nrwl/jest": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.5.3.tgz", @@ -4327,22 +3964,6 @@ "node": ">=14.15.0" } }, - "node_modules/@nrwl/tao/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nrwl/tao/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -4353,43 +3974,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nrwl/tao/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nrwl/tao/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nrwl/tao/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nrwl/tao/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -4416,16 +4000,6 @@ "node": ">=8.6" } }, - "node_modules/@nrwl/tao/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nrwl/tao/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -4535,19 +4109,6 @@ "node": ">=10" } }, - "node_modules/@nrwl/tao/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nrwl/web": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.5.3.tgz", @@ -4641,18 +4202,17 @@ } }, "node_modules/@nx/eslint": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.5.3.tgz", - "integrity": "sha512-Ihoe3526kv/B47RWRTnFTW/wybDjCoUCRpPSSdgdoO6YKHrMQ9ABcTR0OEZORRCi1mbCzvA2JXkjG17RFrxEVA==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-21.2.2.tgz", + "integrity": "sha512-YErnbbkD2gXf9mhnk5T4J5j106bITw2qcA4COCuKpycnX/gszSed9OnU1vCsaza0ah+2CoNWioer2pi4x1WcAA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "@nx/linter": "19.5.3", + "@nx/devkit": "21.2.2", + "@nx/js": "21.2.2", "semver": "^7.5.3", "tslib": "^2.3.0", - "typescript": "~5.4.2" + "typescript": "~5.8.2" }, "peerDependencies": { "@zkochan/js-yaml": "0.0.7", @@ -4665,26 +4225,27 @@ } }, "node_modules/@nx/eslint-plugin": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-19.5.3.tgz", - "integrity": "sha512-J6J+0AgLF33Y5cHJHUfo5KDXDb6IIt2Sko4a11O72OknC5j1MflL8Sqa85UEkuH13vfeAPTtPIrIQRq3jCAwew==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-21.2.2.tgz", + "integrity": "sha512-3QeRTDrRBrdL3mieWFTTaRvw1+FMa/KZAJn854JGjjSTXbFvrQXZQ+vY/n9VYkCrOpf9L5FWL7dw1MP05Vt3GQ==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/eslint-plugin-nx": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "@typescript-eslint/type-utils": "^7.16.0", - "@typescript-eslint/utils": "^7.16.0", + "@nx/devkit": "21.2.2", + "@nx/js": "21.2.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "@typescript-eslint/type-utils": "^8.0.0", + "@typescript-eslint/utils": "^8.0.0", "chalk": "^4.1.0", "confusing-browser-globals": "^1.0.9", + "globals": "^15.9.0", "jsonc-eslint-parser": "^2.1.0", "semver": "^7.5.3", "tslib": "^2.3.0" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.13.2 || ^7.0.0", - "eslint-config-prettier": "^9.0.0" + "@typescript-eslint/parser": "^6.13.2 || ^7.0.0 || ^8.0.0", + "eslint-config-prettier": "^10.0.0" }, "peerDependenciesMeta": { "eslint-config-prettier": { @@ -4692,7 +4253,348 @@ } } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { + "node_modules/@nx/eslint-plugin/node_modules/@nx/js": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", + "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "21.2.2", + "@nx/workspace": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "picocolors": "^1.1.0", + "picomatch": "4.0.2", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/workspace": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", + "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "21.2.2", + "picomatch": "4.0.2", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/eslint-plugin/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, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@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/@nx/eslint-plugin/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/eslint-plugin/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/eslint/node_modules/@nx/js": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", + "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "21.2.2", + "@nx/workspace": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "picocolors": "^1.1.0", + "picomatch": "4.0.2", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "tinyglobby": "^0.2.12", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^6.0.5" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/eslint/node_modules/@nx/workspace": { + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", + "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "21.2.2", + "@zkochan/js-yaml": "0.0.7", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "21.2.2", + "picomatch": "4.0.2", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/eslint/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, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@nx/eslint/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@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/@nx/eslint/node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@nx/eslint/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/eslint/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/jest": { + "version": "19.5.3", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", + "integrity": "sha512-hd+G8mgCKkmtmCGMxkpwUxvzyi2v0TjGqr6rmUAFUqv6gE+z9TIehQbbrFI17FiWcF7bLpSE1Xtm7Mu9Pc0fUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^29.4.1", + "@jest/test-result": "^29.4.1", + "@nrwl/jest": "19.5.3", + "@nx/devkit": "19.5.3", + "@nx/js": "19.5.3", + "@phenomnomnominal/tsquery": "~5.0.1", + "chalk": "^4.1.0", + "identity-obj-proxy": "3.0.0", + "jest-config": "^29.4.1", + "jest-resolve": "^29.4.1", + "jest-util": "^29.4.1", + "minimatch": "9.0.3", + "resolve.exports": "1.1.0", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/jest/node_modules/@nx/devkit": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", @@ -4713,7 +4615,7 @@ "nx": ">= 17 <= 20" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-arm64": { + "node_modules/@nx/jest/node_modules/@nx/nx-darwin-arm64": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", @@ -4731,7 +4633,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-x64": { + "node_modules/@nx/jest/node_modules/@nx/nx-darwin-x64": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", @@ -4749,7 +4651,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-freebsd-x64": { + "node_modules/@nx/jest/node_modules/@nx/nx-freebsd-x64": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", @@ -4767,7 +4669,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm-gnueabihf": { + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm-gnueabihf": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", @@ -4785,7 +4687,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-gnu": { + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-gnu": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", @@ -4803,7 +4705,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-musl": { + "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-musl": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", @@ -4821,7 +4723,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-gnu": { + "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-gnu": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", @@ -4839,7 +4741,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-musl": { + "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-musl": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", @@ -4857,7 +4759,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-arm64-msvc": { + "node_modules/@nx/jest/node_modules/@nx/nx-win32-arm64-msvc": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", @@ -4875,7 +4777,7 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-x64-msvc": { + "node_modules/@nx/jest/node_modules/@nx/nx-win32-x64-msvc": { "version": "20.8.2", "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", @@ -4893,983 +4795,16 @@ "node": ">= 10" } }, - "node_modules/@nx/eslint-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@nx/eslint-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/eslint-plugin/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@nx/eslint-plugin/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 17 <= 20" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@nx/eslint/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nx/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nx/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@nx/eslint/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/@nx/eslint/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/@nx/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/eslint/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@nx/eslint/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/eslint/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@nx/eslint/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/eslint/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/eslint/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/@nx/jest": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", - "integrity": "sha512-hd+G8mgCKkmtmCGMxkpwUxvzyi2v0TjGqr6rmUAFUqv6gE+z9TIehQbbrFI17FiWcF7bLpSE1Xtm7Mu9Pc0fUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/reporters": "^29.4.1", - "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "chalk": "^4.1.0", - "identity-obj-proxy": "3.0.0", - "jest-config": "^29.4.1", - "jest-resolve": "^29.4.1", - "jest-util": "^29.4.1", - "minimatch": "9.0.3", - "resolve.exports": "1.1.0", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } - }, - "node_modules/@nx/jest/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 17 <= 20" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@nx/jest/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@nx/jest/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@nx/jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@nx/jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nx/jest/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -5897,16 +4832,6 @@ "node": ">=8.6" } }, - "node_modules/@nx/jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/jest/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -6028,19 +4953,6 @@ "node": ">=10" } }, - "node_modules/@nx/jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/js": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.5.3.tgz", @@ -6288,22 +5200,6 @@ "node": ">= 10" } }, - "node_modules/@nx/js/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nx/js/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -6314,43 +5210,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nx/js/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nx/js/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/js/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nx/js/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -6378,16 +5237,6 @@ "node": ">=8.6" } }, - "node_modules/@nx/js/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/js/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -6509,29 +5358,6 @@ "node": ">=10" } }, - "node_modules/@nx/js/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/linter": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.5.3.tgz", - "integrity": "sha512-+aFsSPlBmosUfp0mC5HnzFKeqTsjsw9cLZM/7NxJNRq3nUIVaxZSx97OSVm5o1LPS9jybtZg2RdO0s/y/FbVjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/eslint": "19.5.3" - } - }, "node_modules/@nx/nx-darwin-arm64": { "version": "21.2.2", "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.2.tgz", @@ -6774,22 +5600,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@nx/vite/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nx/vite/node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -6806,43 +5616,6 @@ "npm": ">=6" } }, - "node_modules/@nx/vite/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nx/vite/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/vite/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nx/vite/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -6873,16 +5646,6 @@ "node": ">=8.6" } }, - "node_modules/@nx/vite/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/vite/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -6923,19 +5686,6 @@ "node": ">=10" } }, - "node_modules/@nx/vite/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/vite/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -7163,22 +5913,6 @@ "node": ">= 10" } }, - "node_modules/@nx/web/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nx/web/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -7189,43 +5923,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nx/web/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nx/web/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/web/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nx/web/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -7253,16 +5950,6 @@ "node": ">=8.6" } }, - "node_modules/@nx/web/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/web/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -7384,19 +6071,6 @@ "node": ">=10" } }, - "node_modules/@nx/web/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/workspace": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.5.3.tgz", @@ -7618,22 +6292,6 @@ "node": ">=14.15.0" } }, - "node_modules/@nx/workspace/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@nx/workspace/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -7644,43 +6302,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@nx/workspace/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@nx/workspace/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/workspace/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/@nx/workspace/node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -7707,16 +6328,6 @@ "node": ">=8.6" } }, - "node_modules/@nx/workspace/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/workspace/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -7826,19 +6437,6 @@ "node": ">=10" } }, - "node_modules/@nx/workspace/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -9175,8 +7773,7 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -9328,122 +7925,159 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", - "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz", + "integrity": "sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/type-utils": "8.36.0", + "@typescript-eslint/utils": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.36.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.36.0.tgz", + "integrity": "sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/typescript-estree": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.36.0.tgz", + "integrity": "sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.36.0", + "@typescript-eslint/types": "^8.36.0", + "debug": "^4.3.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.36.0.tgz", + "integrity": "sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.36.0.tgz", + "integrity": "sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==", + "dev": true, + "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.36.0.tgz", + "integrity": "sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/typescript-estree": "8.36.0", + "@typescript-eslint/utils": "8.36.0", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.36.0.tgz", + "integrity": "sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -9451,32 +8085,32 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.36.0.tgz", + "integrity": "sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/project-service": "8.36.0", + "@typescript-eslint/tsconfig-utils": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { @@ -9489,6 +8123,36 @@ "balanced-match": "^1.0.0" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -9519,52 +8183,59 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.36.0.tgz", + "integrity": "sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/typescript-estree": "8.36.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.36.0.tgz", + "integrity": "sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.36.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "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==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, - "license": "ISC" + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, "node_modules/@vitest/expect": { "version": "3.2.4", @@ -10312,6 +8983,22 @@ "node": ">=8" } }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -10395,14 +9082,14 @@ } }, "node_modules/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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -10412,18 +9099,20 @@ } }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10432,16 +9121,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -10453,18 +9132,19 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10474,16 +9154,16 @@ } }, "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==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10493,16 +9173,16 @@ } }, "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==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10512,20 +9192,19 @@ } }, "node_modules/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==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "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", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -10584,6 +9263,16 @@ "dev": true, "license": "MIT" }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -10661,82 +9350,6 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-const-enum": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", @@ -11356,29 +9969,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -11421,17 +10011,47 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -11536,39 +10156,7 @@ "node": ">=18" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/chalk": { + "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -11585,27 +10173,23 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk-template/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "chalk": "^4.1.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/chalk-template/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/chalk-template/node_modules/has-flag": { + "node_modules/chalk/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -11615,7 +10199,7 @@ "node": ">=8" } }, - "node_modules/chalk-template/node_modules/supports-color": { + "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -11964,6 +10548,26 @@ "node": ">=0.10.0" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -12116,72 +10720,6 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/concurrently/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/concurrently/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -12334,82 +10872,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/create-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/create-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/create-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/create-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -12502,15 +10964,15 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -12520,31 +10982,31 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -12821,32 +11283,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/domexception": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", @@ -12914,6 +11350,21 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -12997,7 +11448,6 @@ "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -13060,58 +11510,66 @@ } }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.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", - "gopd": "^1.0.1", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", + "is-data-view": "^1.0.2", "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", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "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.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -13121,14 +11579,11 @@ } }, "node_modules/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==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -13151,9 +11606,9 @@ "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", "dependencies": { @@ -13164,40 +11619,44 @@ } }, "node_modules/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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -13291,60 +11750,64 @@ } }, "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz", + "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.30.1", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "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", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "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" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-compat-utils": { @@ -13429,9 +11892,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { @@ -13479,30 +11942,30 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -13572,20 +12035,20 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "28.14.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.14.0.tgz", - "integrity": "sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==", + "version": "29.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.0.1.tgz", + "integrity": "sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/utils": "^8.0.0" }, "engines": { - "node": "^16.10.0 || ^18.12.0 || >=20.0.0" + "node": "^20.12.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -13598,48 +12061,69 @@ } }, "node_modules/eslint-plugin-n": { - "version": "16.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", - "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", + "version": "17.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.21.0.tgz", + "integrity": "sha512-1+iZ8We4ZlwVMtb/DcHG3y5/bZOdazIpa/4TySo22MLKdwrLcfrX0hbadnCvykSQCCmkAnWmIP8jZVb2AAq29A==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.5.0", - "get-tsconfig": "^4.7.0", - "globals": "^13.24.0", - "ignore": "^5.2.4", - "is-builtin-module": "^3.2.1", - "is-core-module": "^2.12.1", - "minimatch": "^3.1.2", - "resolve": "^1.22.2", - "semver": "^7.5.3" + "@eslint-community/eslint-utils": "^4.5.0", + "enhanced-resolve": "^5.17.1", + "eslint-plugin-es-x": "^7.8.0", + "get-tsconfig": "^4.8.1", + "globals": "^15.11.0", + "ignore": "^5.3.2", + "minimatch": "^9.0.5", + "semver": "^7.6.3", + "ts-declaration-location": "^1.0.6" }, "engines": { - "node": ">=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://opencollective.com/eslint" }, "peerDependencies": { - "eslint": ">=7.0.0" + "eslint": ">=8.23.0" + } + }, + "node_modules/eslint-plugin-n/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/eslint-plugin-n/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-n/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", "dependencies": { - "type-fest": "^0.20.2" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/eslint-plugin-n/node_modules/semver": { @@ -13655,27 +12139,17 @@ "node": ">=10" } }, - "node_modules/eslint-plugin-n/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz", + "integrity": "sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==", "dev": true, "license": "ISC", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -13685,9 +12159,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -13695,7 +12169,7 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -13714,97 +12188,10 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/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, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/eslint/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, @@ -13821,19 +12208,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -13856,45 +12238,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/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, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -13943,32 +12286,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -13983,15 +12300,15 @@ } }, "node_modules/espree": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", - "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.12.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.1.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -14001,9 +12318,9 @@ } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", - "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -14514,16 +12831,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/filelist": { @@ -14614,59 +12931,6 @@ "find-process": "bin/find-process.js" } }, - "node_modules/find-process/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/find-process/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/find-process/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/find-process/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/find-process/node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -14677,29 +12941,6 @@ "node": ">= 6" } }, - "node_modules/find-process/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/find-process/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -14741,18 +12982,17 @@ } }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { @@ -14784,13 +13024,19 @@ } }, "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/for-in": { @@ -14906,16 +13152,18 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -14955,17 +13203,22 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -14991,6 +13244,20 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -15005,15 +13272,15 @@ } }, "node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -15194,65 +13461,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/globby/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -15288,11 +13504,14 @@ "license": "(Apache-2.0 OR MPL-1.1)" }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15321,11 +13540,14 @@ } }, "node_modules/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==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -15334,9 +13556,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { @@ -15586,82 +13808,6 @@ "node": ">=12" } }, - "node_modules/http-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/http-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/http-server/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/http-server/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-server/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/http-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -15717,39 +13863,6 @@ "url": "https://opencollective.com/husky" } }, - "node_modules/husky/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/husky/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/husky/node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -15757,26 +13870,6 @@ "dev": true, "license": "MIT" }, - "node_modules/husky/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/husky/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/husky/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -15794,29 +13887,6 @@ "node": ">=10" } }, - "node_modules/husky/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/husky/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -16017,15 +14087,15 @@ } }, "node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -16066,14 +14136,15 @@ } }, "node_modules/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==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -16089,14 +14160,37 @@ "dev": true, "license": "MIT" }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -16116,14 +14210,14 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16139,22 +14233,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -16189,9 +14267,9 @@ "license": "MIT" }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -16218,12 +14296,14 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -16234,13 +14314,14 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16302,6 +14383,22 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -16322,6 +14419,25 @@ "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -16345,6 +14461,19 @@ "node": ">=8" } }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -16376,13 +14505,14 @@ } }, "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16401,16 +14531,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -16455,14 +14575,16 @@ } }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -16481,14 +14603,27 @@ "node": ">=0.10.0" } }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/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==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -16511,13 +14646,14 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16527,13 +14663,15 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -16543,13 +14681,13 @@ } }, "node_modules/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==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -16578,14 +14716,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -16764,82 +14935,6 @@ "node": ">=10" } }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -16943,22 +15038,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-circus/node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -16977,43 +15056,6 @@ "npm": ">=6" } }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/jest-circus/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -17048,16 +15090,6 @@ } } }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-circus/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -17074,19 +15106,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-circus/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -17146,82 +15165,6 @@ } } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", @@ -17268,82 +15211,6 @@ } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-cucumber": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jest-cucumber/-/jest-cucumber-3.0.2.tgz", @@ -17657,22 +15524,6 @@ "@types/yargs-parser": "*" } }, - "node_modules/jest-cucumber/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-cucumber/node_modules/babel-jest": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", @@ -17742,23 +15593,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cucumber/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-cucumber/node_modules/cjs-module-lexer": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", @@ -17778,26 +15612,6 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/jest-cucumber/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cucumber/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/jest-cucumber/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -18847,82 +16661,6 @@ "node": ">=16" } }, - "node_modules/jest-dev-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-dev-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-dev-server/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-dev-server/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-dev-server/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-dev-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -18939,82 +16677,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-docblock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", @@ -19045,82 +16707,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-environment-jsdom": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", @@ -19309,22 +16895,6 @@ "node": ">=16" } }, - "node_modules/jest-environment-puppeteer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-environment-puppeteer/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -19332,43 +16902,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/jest-environment-puppeteer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-environment-puppeteer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-environment-puppeteer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/jest-environment-puppeteer/node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -19396,16 +16929,6 @@ } } }, - "node_modules/jest-environment-puppeteer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-environment-puppeteer/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -19419,19 +16942,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-environment-puppeteer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-get-type": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", @@ -19697,22 +17207,6 @@ "@types/yargs-parser": "*" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-jasmine2/node_modules/babel-jest": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", @@ -19782,23 +17276,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-jasmine2/node_modules/cjs-module-lexer": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", @@ -19818,26 +17295,6 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/jest-jasmine2/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -20730,82 +18187,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", @@ -20827,82 +18208,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-mock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", @@ -20983,81 +18288,18 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/resolve.exports": { @@ -21070,19 +18312,6 @@ "node": ">=10" } }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", @@ -21116,69 +18345,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -21206,19 +18372,6 @@ "source-map": "^0.6.0" } }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner/node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -21266,82 +18419,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-serializer": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", @@ -21388,69 +18465,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -21464,19 +18478,6 @@ "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", @@ -21495,82 +18496,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-validate": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", @@ -21589,22 +18514,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -21618,66 +18527,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-watcher": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", @@ -21698,82 +18547,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-websocket-mock": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/jest-websocket-mock/-/jest-websocket-mock-2.5.0.tgz", @@ -22246,59 +19019,6 @@ "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/lint-staged/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/lint-staged/node_modules/commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -22366,16 +19086,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/lint-staged/node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -22386,19 +19096,6 @@ "node": ">=8.12.0" } }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lint-staged/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -22521,82 +19218,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", @@ -22616,42 +19237,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -22856,6 +19441,16 @@ "node": ">= 12" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", @@ -40953,22 +37548,6 @@ } } }, - "node_modules/nx/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/nx/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -40979,43 +37558,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/nx/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/nx/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/nx/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/nx/node_modules/dotenv": { "version": "16.4.5", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", @@ -41042,16 +37584,6 @@ "node": ">=8.6" } }, - "node_modules/nx/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/nx/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -41098,19 +37630,6 @@ "node": ">=10" } }, - "node_modules/nx/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -41167,9 +37686,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { @@ -41203,15 +37722,17 @@ } }, "node_modules/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==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -41269,13 +37790,14 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -41401,90 +37923,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/p-each-series": { @@ -42028,9 +38492,9 @@ } }, "node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "license": "MIT", "engines": { @@ -42661,6 +39125,29 @@ "node": ">=8.10.0" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -42706,15 +39193,17 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -43079,15 +39568,16 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -43103,6 +39593,23 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -43114,15 +39621,15 @@ } }, "node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -43698,6 +40205,21 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -43806,16 +40328,73 @@ } }, "node_modules/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==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -43911,42 +40490,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -44380,6 +40923,20 @@ "dev": true, "license": "MIT" }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamx": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz", @@ -44466,16 +41023,19 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -44485,16 +41045,20 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -44716,7 +41280,6 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -44921,13 +41484,6 @@ "b4a": "^1.6.4" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -45198,16 +41754,52 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-declaration-location": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", + "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", + "dev": true, + "funding": [ + { + "type": "ko-fi", + "url": "https://ko-fi.com/rebeccastevens" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/ts-declaration-location" + } + ], + "license": "BSD-3-Clause", + "dependencies": { + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": ">=4.0.0" + } + }, + "node_modules/ts-declaration-location/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/ts-jest": { @@ -45391,32 +41983,32 @@ } }, "node_modules/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==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/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==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -45426,18 +42018,19 @@ } }, "node_modules/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==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -45447,18 +42040,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "license": "MIT", "dependencies": { "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" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -45592,16 +42185,19 @@ "license": "MIT" }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -46666,17 +43262,67 @@ } }, "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -46700,16 +43346,18 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -46834,42 +43482,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 42e31513..4380b7fe 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,8 @@ "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.8.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "19.5.3", - "@nx/eslint-plugin": "19.5.3", + "@nx/eslint": "21.2.2", + "@nx/eslint-plugin": "21.2.2", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -67,20 +67,20 @@ "@swc/jest": "~0.2.36", "@types/jest": "^29.4.0", "@types/node": "18.16.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^8.36.0", + "@typescript-eslint/parser": "^8.36.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", - "eslint": "^8.2.0", + "eslint": "^9.30.1", "eslint-config-standard": "^17.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.13.3", - "eslint-plugin-n": "^16.6.2", - "eslint-plugin-promise": "^6.6.0", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jest": "^29.0.1", + "eslint-plugin-n": "^17.21.0", + "eslint-plugin-promise": "^7.2.1", "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", diff --git a/packages/millicast-sdk/.eslintignore b/packages/millicast-sdk/.eslintignore deleted file mode 100644 index 9d76c66f..00000000 --- a/packages/millicast-sdk/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/drm/* -package.json \ No newline at end of file diff --git a/packages/millicast-sdk/.eslintrc.json b/packages/millicast-sdk/.eslintrc.json deleted file mode 100644 index c49328b4..00000000 --- a/packages/millicast-sdk/.eslintrc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - }, - { - "files": [ - "*.spec.ts", - "*.spec.tsx", - "*.spec.js", - "*.spec.jsx", - "*.steps.js", - "*.test.js", - "*/tests/**" - ], - "env": { - "jest": true - }, - "rules": {} - }, - { - "files": ["*.json"], - "parser": "jsonc-eslint-parser", - "rules": { - "@nx/dependency-checks": [ - "error", - { - "ignoredFiles": ["{projectRoot}/vite.config.{js,ts,mjs,mts}"] - } - ] - } - } - ] -} diff --git a/packages/millicast-sdk/eslint.config.js b/packages/millicast-sdk/eslint.config.js new file mode 100644 index 00000000..e075d9b1 --- /dev/null +++ b/packages/millicast-sdk/eslint.config.js @@ -0,0 +1,61 @@ +const rootConfig = require("../../eslint.config.js"); +const jsoncParser = require('jsonc-eslint-parser'); + +module.exports = [ + ...rootConfig, + { + ignores: [ + "!**/*", + "/src/drm/*", + "package.json", + "docs/", + "*.d.ts", + "jest.config.ts", + ], + }, + { + files: ["*.ts", "*.tsx", "*.js", "*.jsx"], + rules: {} + }, + { + files: ["*.ts", "*.tsx"], + rules: { + "@typescript-eslint/no-inferrable-types": "off" + } + }, + { + files: ["*.js", "*.jsx"], + rules: {} + }, + { + files: [ + "*.spec.ts", + "*.spec.tsx", + "*.spec.js", + "*.spec.jsx", + "*.steps.js", + "*.test.js", + "*/tests/**" + ], + languageOptions: { + globals: { + "jest": true + }, + }, + rules: {} + }, + { + files: ["*.json"], + languageOptions: { + parser: jsoncParser, + }, + rules: { + "@nx/dependency-checks": [ + "error", + { + ignoredFiles: ["{projectRoot}/vite.config.{js,ts,mjs,mts}"] + } + ] + } + } +]; diff --git a/packages/millicast-sdk/src/Logger.ts b/packages/millicast-sdk/src/Logger.ts index 8841d77f..b05278dd 100644 --- a/packages/millicast-sdk/src/Logger.ts +++ b/packages/millicast-sdk/src/Logger.ts @@ -69,7 +69,6 @@ const createDefaultHandler = jsLogger.createDefaultHandler as ( options?: CreateDefaultHandlerOptions ) => ILogHandler - /** * Manages all log messages from SDK modules, you can use this logger to add your custom * messages and set your custom log handlers to forward all messages to your own monitoring @@ -300,4 +299,4 @@ const Logger = { VERSION: version, } -export default Logger +export default Logger; diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index 0e238fef..2e3a0651 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -79,50 +79,53 @@ export class Signaling extends TypedEventEmitter { this.webSocket.onopen = () => { this.#logger.info('WebSocket opened') - this.#transactionManager && - this.#transactionManager.on('event', (evt: TransactionManager.Event) => { - const data: any = evt.data; - switch (evt.name) { - case 'active': - const activePayload: ActiveEventPayload = { - streamId: data.streamId, - sourceId: data.sourceId, - tracks: data.tracks, - encryption: data.encryption, - }; - this.emit('active', activePayload); - return; - case 'inactive': - const inactivePayload: InactiveEventPayload = { - streamId: data.streamId, - sourceId: data.sourceId, - }; - this.emit('inactive', inactivePayload); - return; - case 'viewercount': - this.emit('viewercount', data.viewerCount); - return; - case 'migrate': - this.emit('migrate'); - return; - case 'updated': - this.emit('updated'); - return; - case 'stopped': - this.emit('stopped'); - return; - case 'vad': - this.emit('vad'); - return; - case 'layers': - const layersPayload = data as LayersEventPayload; - this.emit('layers', layersPayload); - return; - default: - break + this.#transactionManager?.on('event', (evt: TransactionManager.Event) => { + /* eslint-disable @typescript-eslint/no-explicit-any */ + const data: any = evt.data; + switch (evt.name) { + case 'active': { + const activePayload: ActiveEventPayload = { + streamId: data.streamId, + sourceId: data.sourceId, + tracks: data.tracks, + encryption: data.encryption, + }; + this.emit('active', activePayload); + return; } - this.#logger.info('The following event was not properly understood', evt); - }); + case 'inactive': { + const inactivePayload: InactiveEventPayload = { + streamId: data.streamId, + sourceId: data.sourceId, + }; + this.emit('inactive', inactivePayload); + return; + } + case 'viewercount': + this.emit('viewercount', data.viewerCount); + return; + case 'migrate': + this.emit('migrate'); + return; + case 'updated': + this.emit('updated'); + return; + case 'stopped': + this.emit('stopped'); + return; + case 'vad': + this.emit('vad'); + return; + case 'layers': { + const layersPayload = data as LayersEventPayload; + this.emit('layers', layersPayload); + return; + } + default: + break + } + this.#logger.info('The following event was not properly understood', evt); + }); if (this.webSocket) { this.#logger.info('Connected to server: ', this.webSocket.url) @@ -182,7 +185,7 @@ export class Signaling extends TypedEventEmitter { // Signaling server only recognizes 'AV1' and not 'AV1X' sdp = SdpParser.adaptCodecName(sdp, 'AV1X', VideoCodec.AV1) - let data: ViewCmd = { + const data: ViewCmd = { sdp, } diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index f6cb5859..f66562e1 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -385,7 +385,7 @@ export class Viewer extends BaseWebRTC { try { const json: SEIUserUnregisteredData = JSON.parse(content) metadata.unregistered = json - } catch (e) { + } catch { // was not a JSON, just return the raw bytes (i.e. do nothing) this.logger.info('The content could not be converted to JSON, returning raw bytes instead') } diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index 694b89bc..7b98e555 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -1,5 +1,5 @@ -import Logger, { LogLevel } from './Logger'; -export { Logger, LogLevel }; +import Logger from './Logger'; +export { Logger}; /** @hidden */ export * as Urls from './urls'; diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index a9f07df7..241b852c 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -1,6 +1,7 @@ import { PublisherServerEvent } from './BaseWebRTC.types' import { VideoCodec } from './Codecs.types' import { PeerConnectionConfig } from './PeerConnection.types' +/* eslint-disable @typescript-eslint/no-unused-vars */ import { PeerConnection } from '../PeerConnection' /** diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index c2595417..64bbd807 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -1,3 +1,4 @@ +/* eslint-disable */ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; @@ -8,6 +9,7 @@ import TransactionManager from 'transaction-manager'; import { EncryptionParameters, TrackInfo } from './Viewer.types'; import { EmittedEvents } from '../utils/TypedEventEmitter'; import { ConnectionStats } from './stats.types'; +/* eslint-enable */ /** * Events triggered by the {@link PeerConnectionStats} class. diff --git a/packages/millicast-sdk/src/utils/Codecs.ts b/packages/millicast-sdk/src/utils/Codecs.ts index 503304ed..80a46d37 100644 --- a/packages/millicast-sdk/src/utils/Codecs.ts +++ b/packages/millicast-sdk/src/utils/Codecs.ts @@ -356,7 +356,7 @@ function getSeiNalus(frameBuffer: Uint8Array, codec: VideoCodec) { try { spsState.findActiveSPS(removePreventionBytes(nalu.subarray(startCodeLength + headerLength))) shouldSearchActiveSPS = false - } catch (err) { + } catch { console.info('Failed to find active SPS. Will not be able to extract PIC timing metadata') } break diff --git a/packages/millicast-sdk/src/utils/TypedEventEmitter.ts b/packages/millicast-sdk/src/utils/TypedEventEmitter.ts index 53142bc7..0ec174a5 100644 --- a/packages/millicast-sdk/src/utils/TypedEventEmitter.ts +++ b/packages/millicast-sdk/src/utils/TypedEventEmitter.ts @@ -1,7 +1,7 @@ import EventEmitter from 'events' -export interface EmittedEvents extends Record any> { -} +/* eslint-disable @typescript-eslint/no-explicit-any */ +export type EmittedEvents = Record any>; export interface TypedEventEmitter { /** @@ -20,4 +20,6 @@ export interface TypedEventEmitter { emit(eventName: N, ...args: Parameters): boolean; } +/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */ +/* eslint-disable @typescript-eslint/no-unused-vars */ export class TypedEventEmitter extends EventEmitter {}; diff --git a/packages/millicast-sdk/src/utils/Validators.ts b/packages/millicast-sdk/src/utils/Validators.ts index 52756e89..68106238 100644 --- a/packages/millicast-sdk/src/utils/Validators.ts +++ b/packages/millicast-sdk/src/utils/Validators.ts @@ -26,6 +26,7 @@ const isObject = (value: unknown) => typeof value === 'object' && value !== null const isSupporedVideoCodec = (value: unknown): value is VideoCodec => Object.values(VideoCodec).includes(value as VideoCodec) +/* eslint-disable @typescript-eslint/no-explicit-any */ export function validatePublishConnectOptions(obj: any): { error?: ValidationError value: PublishConnectOptions diff --git a/packages/millicast-sdk/tests/e2e/ViewTest.js b/packages/millicast-sdk/tests/e2e/ViewTest.js index b04062a4..925542d7 100644 --- a/packages/millicast-sdk/tests/e2e/ViewTest.js +++ b/packages/millicast-sdk/tests/e2e/ViewTest.js @@ -51,6 +51,7 @@ class MillicastViewTest { }) } catch (error) { console.log('There was an error while trying to connect with the publisher') + console.error(error) this.millicastView.reconnect() } } diff --git a/packages/millicast-sdk/tests/unit/Validator.test.ts b/packages/millicast-sdk/tests/unit/Validator.test.ts index 63c7e753..0c9a85a0 100644 --- a/packages/millicast-sdk/tests/unit/Validator.test.ts +++ b/packages/millicast-sdk/tests/unit/Validator.test.ts @@ -2,6 +2,7 @@ import { VideoCodec } from '../../src/types/Codecs.types' import { validatePublishConnectOptions } from '../../src/utils/Validators' describe('Validator: "validatePublishConnectOptions"', () => { + /* eslint-disable @typescript-eslint/no-explicit-any */ let validPublishConnectionOptions: any beforeEach(() => { validPublishConnectionOptions = { From d60774089d035ba4efc01d8e2756f61d07fdbd81 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 14 Jul 2025 17:59:47 -0700 Subject: [PATCH 11/22] Update dependencies Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package-lock.json | 1391 +++++++++++++++++++++++++++++---------------- package.json | 25 +- 2 files changed, 916 insertions(+), 500 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3ab5b4f..cc6a046f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,6 @@ ], "dependencies": { "@dolbyio/webrtc-stats": "^1.0.4", - "@types/node": "^24.0.12", - "@types/ua-parser-js": "^0.7.39", "buffer": "^6.0.3", "events": "^3.3.0", "js-base64": "^3.7.7", @@ -30,11 +28,11 @@ "@babel/plugin-transform-runtime": "^7.13.10", "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.8.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.31.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "21.2.2", - "@nx/eslint-plugin": "21.2.2", + "@nx/eslint": "21.2.3", + "@nx/eslint-plugin": "21.2.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -49,21 +47,20 @@ "@swc/helpers": "~0.5.11", "@swc/jest": "~0.2.36", "@types/jest": "^29.4.0", - "@types/node": "18.16.9", - "@typescript-eslint/eslint-plugin": "^8.36.0", - "@typescript-eslint/parser": "^8.36.0", + "@types/node": "^24.0.12", + "@types/ua-parser-js": "^0.7.39", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@typescript-eslint/parser": "^8.37.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", - "eslint": "^9.30.1", - "eslint-config-standard": "^17.1.0", + "eslint": "^9.31.0", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jest": "^29.0.1", "eslint-plugin-n": "^17.21.0", - "eslint-plugin-promise": "^7.2.1", "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", @@ -72,8 +69,8 @@ "netlify-cli": "^22.2.2", "npm": "^11.4.2", "nx": "21.2.2", - "prettier": "^2.6.2", - "puppeteer": "^21.6.1", + "prettier": "^3.6.2", + "puppeteer": "^24.12.1", "serve": "^14.2.1", "swc-loader": "0.1.15", "ts-jest": "^29.1.0", @@ -2547,9 +2544,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", - "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2617,9 +2614,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.30.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz", - "integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==", + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", + "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", "dev": true, "license": "MIT", "engines": { @@ -2653,19 +2650,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", - "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@gerrit0/mini-shiki": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.6.0.tgz", @@ -4202,14 +4186,14 @@ } }, "node_modules/@nx/eslint": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-21.2.2.tgz", - "integrity": "sha512-YErnbbkD2gXf9mhnk5T4J5j106bITw2qcA4COCuKpycnX/gszSed9OnU1vCsaza0ah+2CoNWioer2pi4x1WcAA==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-21.2.3.tgz", + "integrity": "sha512-Lr/4FeeNhBIR3pPrENHUtyWtoBKiztaDilNodzizSiXVp32mCL1sPc5UYr5n8BpqAtDT6yK7jF7Pn+YvVD688w==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.2", - "@nx/js": "21.2.2", + "@nx/devkit": "21.2.3", + "@nx/js": "21.2.3", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.8.2" @@ -4225,14 +4209,14 @@ } }, "node_modules/@nx/eslint-plugin": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-21.2.2.tgz", - "integrity": "sha512-3QeRTDrRBrdL3mieWFTTaRvw1+FMa/KZAJn854JGjjSTXbFvrQXZQ+vY/n9VYkCrOpf9L5FWL7dw1MP05Vt3GQ==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-21.2.3.tgz", + "integrity": "sha512-UryMWwgRYCjCLgqexhv6aQBMnKxJyVlN58Gp6Oa/2/2P/vMnIPjwbI58pZL1D1Se6HL14NKxmVu2KkX6Bf9R1w==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.2", - "@nx/js": "21.2.2", + "@nx/devkit": "21.2.3", + "@nx/js": "21.2.3", "@phenomnomnominal/tsquery": "~5.0.1", "@typescript-eslint/type-utils": "^8.0.0", "@typescript-eslint/utils": "^8.0.0", @@ -4253,10 +4237,30 @@ } } }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.3.tgz", + "integrity": "sha512-H5Hk0qeZwqhxQmqcWaLpMc+otU4TroUzDYoV6kFpZdvcwGnXQKHCuGzZoI18kh9wPXvKFmb1BWmr9as3lHUw3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": "21.2.3" + } + }, "node_modules/@nx/eslint-plugin/node_modules/@nx/js": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", - "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.3.tgz", + "integrity": "sha512-9uA+j924UoarVJFLH6iy+PMnTWgrBM3XfjSpjThDwdJ4ffhop8NcED51sO/qUs68py93NxuY6Ud0qSSu8G5I+A==", "dev": true, "license": "MIT", "dependencies": { @@ -4267,8 +4271,8 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nx/devkit": "21.2.2", - "@nx/workspace": "21.2.2", + "@nx/devkit": "21.2.3", + "@nx/workspace": "21.2.3", "@zkochan/js-yaml": "0.0.7", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^3.1.0", @@ -4299,18 +4303,158 @@ } } }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-arm64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.3.tgz", + "integrity": "sha512-5WgOjoX4vqG286A8abYoLCScA2ZF5af/2ZBjaM5EHypgbJLGQuMcP2ahzX66FYohT4wdAej1D0ILkEax71fAKw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-x64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.3.tgz", + "integrity": "sha512-aSaK8Ic9nHTwSuNZZtaKCPIXgD6+Ss9UwkNMIXPLYiYLF+EdSDORHnHutmajZZ8HakoWCQPWvxfWv30zre6iqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-freebsd-x64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.3.tgz", + "integrity": "sha512-hFSbtaYM1gL+XQq88CkmwqeeabmFsLjpsBF+HFIv1UMAjb02ObrYHVVICmmin5c1NkBsEJcQzh3mf8PBSOHW8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.3.tgz", + "integrity": "sha512-yRzt8dLwTpRP7655We9/ol+Ol+n52R9wsRRnxJFdWHyLrHguZF0dqiZ5rAFFzyvywaDP6CRoPuS7wqFT7K14bw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.3.tgz", + "integrity": "sha512-5u8mmUogvrNn1xlJk8Y6AJg/g1h2bKxYSyWfxR2mazKj5wI/VgbHuxHAgMXB7WDW2tK5bEcrUTvO8V0DjZQhNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-musl": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.3.tgz", + "integrity": "sha512-4huuq2iuCBOWmJQw60gk5g3yjeHxFzwdDZJPM0680fZ7Pa/haPwamkR6kE2U6aFtFMhi1QVGPEoj4v4vE4ZS5g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-gnu": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.3.tgz", + "integrity": "sha512-qWpJXpF8vjOrZTkgSC8kQAnIh0pIFbsisePicYWj5U9szJYyTUvVbjMAvdUPH4Z3bnrUtt+nzf9mpFCJRLjsOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-musl": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.3.tgz", + "integrity": "sha512-JZHlovF9uzvN3blImysYJmG90/8ookr3jOmEFxmP4RfMUl6EdN9yBLBdx0zIG2ulh7+WQrR3eQ1qrmsWFb6oiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.3.tgz", + "integrity": "sha512-8Q1ljgFle6F2ZGSe6dLBItSdvYXjO0n2ovZI0zIih9+5OGLdN8wf6iONQJT7he2YST1dowIDPNWdeKiuOzPo6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-x64-msvc": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.3.tgz", + "integrity": "sha512-qJpHIZU/D48+EZ2bH02/LIFIkANYryGbcbNQUqC+pYA8ZPCU0wMqZVn4UcNMoI9K4YtXe/SvSBdjiObDuRb8yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@nx/eslint-plugin/node_modules/@nx/workspace": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", - "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.3.tgz", + "integrity": "sha512-bC3J6pgXvL9JWyYmP7AOGCIZhtI6vmY1YLan1T+FFkSr7yyKvIwnnL9E68whQD5jcbJl1Mvu9l0lVlsVdQYF/g==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.2", + "@nx/devkit": "21.2.3", "@zkochan/js-yaml": "0.0.7", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "21.2.2", + "nx": "21.2.3", "picomatch": "4.0.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" @@ -4332,6 +4476,16 @@ "npm": ">=6" } }, + "node_modules/@nx/eslint-plugin/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/eslint-plugin/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -4349,6 +4503,29 @@ "node": ">=10" } }, + "node_modules/@nx/eslint-plugin/node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/@nx/eslint-plugin/node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -4382,6 +4559,95 @@ "dev": true, "license": "MIT" }, + "node_modules/@nx/eslint-plugin/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/nx": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.3.tgz", + "integrity": "sha512-2wL/2fSmIbRWn6zXaQ/g3kj5DfEaTw/aJkPr6ozJh8BUq5iYKE+tS9oh0PjsVVwN6Pybe80Lu+mn9RgWyeV3xw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tree-kill": "^1.2.2", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "21.2.3", + "@nx/nx-darwin-x64": "21.2.3", + "@nx/nx-freebsd-x64": "21.2.3", + "@nx/nx-linux-arm-gnueabihf": "21.2.3", + "@nx/nx-linux-arm64-gnu": "21.2.3", + "@nx/nx-linux-arm64-musl": "21.2.3", + "@nx/nx-linux-x64-gnu": "21.2.3", + "@nx/nx-linux-x64-musl": "21.2.3", + "@nx/nx-win32-arm64-msvc": "21.2.3", + "@nx/nx-win32-x64-msvc": "21.2.3" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, "node_modules/@nx/eslint-plugin/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -4395,6 +4661,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@nx/eslint-plugin/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@nx/eslint-plugin/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -4408,20 +4684,30 @@ "node": ">=10" } }, - "node_modules/@nx/eslint-plugin/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/@nx/eslint/node_modules/@nx/devkit": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.3.tgz", + "integrity": "sha512-H5Hk0qeZwqhxQmqcWaLpMc+otU4TroUzDYoV6kFpZdvcwGnXQKHCuGzZoI18kh9wPXvKFmb1BWmr9as3lHUw3Q==", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" + "license": "MIT", + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": "21.2.3" } }, "node_modules/@nx/eslint/node_modules/@nx/js": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", - "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.3.tgz", + "integrity": "sha512-9uA+j924UoarVJFLH6iy+PMnTWgrBM3XfjSpjThDwdJ4ffhop8NcED51sO/qUs68py93NxuY6Ud0qSSu8G5I+A==", "dev": true, "license": "MIT", "dependencies": { @@ -4432,8 +4718,8 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nx/devkit": "21.2.2", - "@nx/workspace": "21.2.2", + "@nx/devkit": "21.2.3", + "@nx/workspace": "21.2.3", "@zkochan/js-yaml": "0.0.7", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^3.1.0", @@ -4464,18 +4750,158 @@ } } }, + "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-arm64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.3.tgz", + "integrity": "sha512-5WgOjoX4vqG286A8abYoLCScA2ZF5af/2ZBjaM5EHypgbJLGQuMcP2ahzX66FYohT4wdAej1D0ILkEax71fAKw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-x64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.3.tgz", + "integrity": "sha512-aSaK8Ic9nHTwSuNZZtaKCPIXgD6+Ss9UwkNMIXPLYiYLF+EdSDORHnHutmajZZ8HakoWCQPWvxfWv30zre6iqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-freebsd-x64": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.3.tgz", + "integrity": "sha512-hFSbtaYM1gL+XQq88CkmwqeeabmFsLjpsBF+HFIv1UMAjb02ObrYHVVICmmin5c1NkBsEJcQzh3mf8PBSOHW8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.3.tgz", + "integrity": "sha512-yRzt8dLwTpRP7655We9/ol+Ol+n52R9wsRRnxJFdWHyLrHguZF0dqiZ5rAFFzyvywaDP6CRoPuS7wqFT7K14bw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-gnu": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.3.tgz", + "integrity": "sha512-5u8mmUogvrNn1xlJk8Y6AJg/g1h2bKxYSyWfxR2mazKj5wI/VgbHuxHAgMXB7WDW2tK5bEcrUTvO8V0DjZQhNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-musl": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.3.tgz", + "integrity": "sha512-4huuq2iuCBOWmJQw60gk5g3yjeHxFzwdDZJPM0680fZ7Pa/haPwamkR6kE2U6aFtFMhi1QVGPEoj4v4vE4ZS5g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-gnu": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.3.tgz", + "integrity": "sha512-qWpJXpF8vjOrZTkgSC8kQAnIh0pIFbsisePicYWj5U9szJYyTUvVbjMAvdUPH4Z3bnrUtt+nzf9mpFCJRLjsOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-musl": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.3.tgz", + "integrity": "sha512-JZHlovF9uzvN3blImysYJmG90/8ookr3jOmEFxmP4RfMUl6EdN9yBLBdx0zIG2ulh7+WQrR3eQ1qrmsWFb6oiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-win32-arm64-msvc": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.3.tgz", + "integrity": "sha512-8Q1ljgFle6F2ZGSe6dLBItSdvYXjO0n2ovZI0zIih9+5OGLdN8wf6iONQJT7he2YST1dowIDPNWdeKiuOzPo6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nx/eslint/node_modules/@nx/nx-win32-x64-msvc": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.3.tgz", + "integrity": "sha512-qJpHIZU/D48+EZ2bH02/LIFIkANYryGbcbNQUqC+pYA8ZPCU0wMqZVn4UcNMoI9K4YtXe/SvSBdjiObDuRb8yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@nx/eslint/node_modules/@nx/workspace": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", - "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.3.tgz", + "integrity": "sha512-bC3J6pgXvL9JWyYmP7AOGCIZhtI6vmY1YLan1T+FFkSr7yyKvIwnnL9E68whQD5jcbJl1Mvu9l0lVlsVdQYF/g==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.2", + "@nx/devkit": "21.2.3", "@zkochan/js-yaml": "0.0.7", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "21.2.2", + "nx": "21.2.3", "picomatch": "4.0.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" @@ -4497,6 +4923,16 @@ "npm": ">=6" } }, + "node_modules/@nx/eslint/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/eslint/node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -4514,6 +4950,29 @@ "node": ">=10" } }, + "node_modules/@nx/eslint/node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nx/eslint/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/@nx/eslint/node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -4534,6 +4993,95 @@ "dev": true, "license": "MIT" }, + "node_modules/@nx/eslint/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/eslint/node_modules/nx": { + "version": "21.2.3", + "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.3.tgz", + "integrity": "sha512-2wL/2fSmIbRWn6zXaQ/g3kj5DfEaTw/aJkPr6ozJh8BUq5iYKE+tS9oh0PjsVVwN6Pybe80Lu+mn9RgWyeV3xw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tree-kill": "^1.2.2", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "21.2.3", + "@nx/nx-darwin-x64": "21.2.3", + "@nx/nx-freebsd-x64": "21.2.3", + "@nx/nx-linux-arm-gnueabihf": "21.2.3", + "@nx/nx-linux-arm64-gnu": "21.2.3", + "@nx/nx-linux-arm64-musl": "21.2.3", + "@nx/nx-linux-x64-gnu": "21.2.3", + "@nx/nx-linux-x64-musl": "21.2.3", + "@nx/nx-win32-arm64-msvc": "21.2.3", + "@nx/nx-win32-x64-msvc": "21.2.3" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, "node_modules/@nx/eslint/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -4547,6 +5095,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@nx/eslint/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@nx/eslint/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -4560,16 +5118,6 @@ "node": ">=10" } }, - "node_modules/@nx/eslint/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, "node_modules/@nx/jest": { "version": "19.5.3", "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", @@ -6532,52 +7080,40 @@ "license": "BSD-3-Clause" }, "node_modules/@puppeteer/browsers": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", - "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", + "version": "2.10.5", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", + "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "debug": "4.3.4", - "extract-zip": "2.0.1", - "progress": "2.0.3", - "proxy-agent": "6.3.1", - "tar-fs": "3.0.4", - "unbzip2-stream": "1.4.3", - "yargs": "17.7.2" + "debug": "^4.4.1", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.2", + "tar-fs": "^3.0.8", + "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" }, "engines": { - "node": ">=16.3.0" + "node": ">=18" } }, - "node_modules/@puppeteer/browsers/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@puppeteer/browsers/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10" } }, - "node_modules/@puppeteer/browsers/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -7825,11 +8361,14 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "18.16.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.9.tgz", - "integrity": "sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA==", + "version": "24.0.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.13.tgz", + "integrity": "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", @@ -7880,6 +8419,7 @@ "version": "0.7.39", "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", + "dev": true, "license": "MIT" }, "node_modules/@types/unist": { @@ -7925,17 +8465,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz", - "integrity": "sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.37.0.tgz", + "integrity": "sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.36.0", - "@typescript-eslint/type-utils": "8.36.0", - "@typescript-eslint/utils": "8.36.0", - "@typescript-eslint/visitor-keys": "8.36.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/type-utils": "8.37.0", + "@typescript-eslint/utils": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -7949,7 +8489,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.36.0", + "@typescript-eslint/parser": "^8.37.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } @@ -7965,16 +8505,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.36.0.tgz", - "integrity": "sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.37.0.tgz", + "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.36.0", - "@typescript-eslint/types": "8.36.0", - "@typescript-eslint/typescript-estree": "8.36.0", - "@typescript-eslint/visitor-keys": "8.36.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4" }, "engines": { @@ -7990,14 +8530,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.36.0.tgz", - "integrity": "sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.37.0.tgz", + "integrity": "sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.36.0", - "@typescript-eslint/types": "^8.36.0", + "@typescript-eslint/tsconfig-utils": "^8.37.0", + "@typescript-eslint/types": "^8.37.0", "debug": "^4.3.4" }, "engines": { @@ -8012,14 +8552,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.36.0.tgz", - "integrity": "sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.37.0.tgz", + "integrity": "sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.36.0", - "@typescript-eslint/visitor-keys": "8.36.0" + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8030,9 +8570,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.36.0.tgz", - "integrity": "sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.37.0.tgz", + "integrity": "sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==", "dev": true, "license": "MIT", "engines": { @@ -8047,14 +8587,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.36.0.tgz", - "integrity": "sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.37.0.tgz", + "integrity": "sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.36.0", - "@typescript-eslint/utils": "8.36.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -8071,9 +8612,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.36.0.tgz", - "integrity": "sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.37.0.tgz", + "integrity": "sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==", "dev": true, "license": "MIT", "engines": { @@ -8085,16 +8626,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.36.0.tgz", - "integrity": "sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.37.0.tgz", + "integrity": "sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.36.0", - "@typescript-eslint/tsconfig-utils": "8.36.0", - "@typescript-eslint/types": "8.36.0", - "@typescript-eslint/visitor-keys": "8.36.0", + "@typescript-eslint/project-service": "8.37.0", + "@typescript-eslint/tsconfig-utils": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -8170,9 +8711,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -8183,16 +8724,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.36.0.tgz", - "integrity": "sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.37.0.tgz", + "integrity": "sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.36.0", - "@typescript-eslint/types": "8.36.0", - "@typescript-eslint/typescript-estree": "8.36.0" + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8207,13 +8748,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.36.0.tgz", - "integrity": "sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.37.0.tgz", + "integrity": "sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/types": "8.37.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -9531,13 +10072,82 @@ "license": "MIT" }, "node_modules/bare-events": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", - "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", + "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", "dev": true, "license": "Apache-2.0", "optional": true }, + "node_modules/bare-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", + "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", @@ -10282,14 +10892,14 @@ } }, "node_modules/chromium-bidi": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.8.tgz", - "integrity": "sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz", + "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "mitt": "3.0.1", - "urlpattern-polyfill": "10.0.0" + "mitt": "^3.0.1", + "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" @@ -10879,16 +11489,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -11257,9 +11857,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1232444", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz", - "integrity": "sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==", + "version": "0.0.1464554", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1464554.tgz", + "integrity": "sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==", "dev": true, "license": "BSD-3-Clause" }, @@ -11750,9 +12350,9 @@ } }, "node_modules/eslint": { - "version": "9.30.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz", - "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", + "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11760,9 +12360,9 @@ "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.0", - "@eslint/core": "^0.14.0", + "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.30.1", + "@eslint/js": "9.31.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -11839,36 +12439,6 @@ "node": ">=10" } }, - "node_modules/eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "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", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", - "eslint-plugin-promise": "^6.0.0" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -12139,25 +12709,6 @@ "node": ">=10" } }, - "node_modules/eslint-plugin-promise": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz", - "integrity": "sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, "node_modules/eslint-scope": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", @@ -13303,16 +13854,15 @@ } }, "node_modules/get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", "dev": true, "license": "MIT", "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" + "debug": "^4.3.4" }, "engines": { "node": ">= 14" @@ -19613,13 +20163,6 @@ "node": ">=10" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true, - "license": "MIT" - }, "node_modules/mlly": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", @@ -34559,52 +35102,6 @@ "tslib": "^2.0.3" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -38030,34 +38527,31 @@ } }, "node_modules/pac-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", - "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", "dev": true, "license": "MIT", "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.5", + "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", - "socks-proxy-agent": "^8.0.4" + "socks-proxy-agent": "^8.0.5" }, "engines": { "node": ">= 14" } }, "node_modules/pac-proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -38077,13 +38571,13 @@ } }, "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -38541,16 +39035,16 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -38646,34 +39140,31 @@ } }, "node_modules/proxy-agent": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", - "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", + "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" + "socks-proxy-agent": "^8.0.5" }, "engines": { "node": ">= 14" } }, "node_modules/proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -38693,13 +39184,13 @@ } }, "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -38769,88 +39260,43 @@ } }, "node_modules/puppeteer": { - "version": "21.11.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.11.0.tgz", - "integrity": "sha512-9jTHuYe22TD3sNxy0nEIzC7ZrlRnDgeX3xPkbS7PnbdwYjl2o/z/YuCrRBwezdKpbTDTJ4VqIggzNyeRcKq3cg==", - "deprecated": "< 22.8.2 is no longer supported", + "version": "24.12.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.12.1.tgz", + "integrity": "sha512-+vvwl+Xo4z5uXLLHG+XW8uXnUXQ62oY6KU6bEFZJvHWLutbmv5dw9A/jcMQ0fqpQdLydHmK0Uy7/9Ilj8ufwSQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "1.9.1", - "cosmiconfig": "9.0.0", - "puppeteer-core": "21.11.0" + "@puppeteer/browsers": "2.10.5", + "chromium-bidi": "5.1.0", + "cosmiconfig": "^9.0.0", + "devtools-protocol": "0.0.1464554", + "puppeteer-core": "24.12.1", + "typed-query-selector": "^2.12.0" }, "bin": { - "puppeteer": "lib/esm/puppeteer/node/cli.js" + "puppeteer": "lib/cjs/puppeteer/node/cli.js" }, "engines": { - "node": ">=16.13.2" + "node": ">=18" } }, "node_modules/puppeteer-core": { - "version": "21.11.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.11.0.tgz", - "integrity": "sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==", + "version": "24.12.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.12.1.tgz", + "integrity": "sha512-8odp6d3ERKBa3BAVaYWXn95UxQv3sxvP1reD+xZamaX6ed8nCykhwlOiHSaHR9t/MtmIB+rJmNencI6Zy4Gxvg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "1.9.1", - "chromium-bidi": "0.5.8", - "cross-fetch": "4.0.0", - "debug": "4.3.4", - "devtools-protocol": "0.0.1232444", - "ws": "8.16.0" - }, - "engines": { - "node": ">=16.13.2" - } - }, - "node_modules/puppeteer-core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" + "@puppeteer/browsers": "2.10.5", + "chromium-bidi": "5.1.0", + "debug": "^4.4.1", + "devtools-protocol": "0.0.1464554", + "typed-query-selector": "^2.12.0", + "ws": "^8.18.3" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/puppeteer-core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "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": ">=18" } }, "node_modules/puppeteer/node_modules/argparse": { @@ -38978,13 +39424,6 @@ ], "license": "MIT" }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true, - "license": "MIT" - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -40653,9 +41092,9 @@ } }, "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", + "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", "dev": true, "license": "MIT", "dependencies": { @@ -40668,13 +41107,13 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, @@ -40683,14 +41122,11 @@ } }, "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } @@ -40938,14 +41374,13 @@ } }, "node_modules/streamx": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz", - "integrity": "sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", + "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", "dev": true, "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", - "queue-tick": "^1.0.1", "text-decoder": "^1.1.0" }, "optionalDependencies": { @@ -41285,15 +41720,18 @@ } }, "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", + "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", "dev": true, "license": "MIT", "dependencies": { - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" } }, "node_modules/tar-fs/node_modules/tar-stream": { @@ -41475,9 +41913,9 @@ } }, "node_modules/text-decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz", - "integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -42060,6 +42498,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typed-query-selector": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", + "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", + "dev": true, + "license": "MIT" + }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -42203,42 +42648,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/undefsafe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", @@ -42253,6 +42662,13 @@ "dev": true, "license": "MIT" }, + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", @@ -42482,13 +42898,6 @@ "requires-port": "^1.0.0" } }, - "node_modules/urlpattern-polyfill": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", - "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", - "dev": true, - "license": "MIT" - }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -43504,9 +43913,9 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -43630,6 +44039,16 @@ "node": ">=6" } }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "packages/millicast-chromecast-receiver": {}, "packages/millicast-multiview-demo": {}, "packages/millicast-publisher-demo": {}, diff --git a/package.json b/package.json index 4380b7fe..2560f0de 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,6 @@ }, "dependencies": { "@dolbyio/webrtc-stats": "^1.0.4", - "@types/node": "^24.0.12", - "@types/ua-parser-js": "^0.7.39", "buffer": "^6.0.3", "events": "^3.3.0", "js-base64": "^3.7.7", @@ -47,11 +45,11 @@ "@babel/plugin-transform-runtime": "^7.13.10", "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.8.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.31.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "21.2.2", - "@nx/eslint-plugin": "21.2.2", + "@nx/eslint": "21.2.3", + "@nx/eslint-plugin": "21.2.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -66,21 +64,20 @@ "@swc/helpers": "~0.5.11", "@swc/jest": "~0.2.36", "@types/jest": "^29.4.0", - "@types/node": "18.16.9", - "@typescript-eslint/eslint-plugin": "^8.36.0", - "@typescript-eslint/parser": "^8.36.0", + "@types/node": "^24.0.12", + "@types/ua-parser-js": "^0.7.39", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@typescript-eslint/parser": "^8.37.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", - "eslint": "^9.30.1", - "eslint-config-standard": "^17.1.0", + "eslint": "^9.31.0", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jest": "^29.0.1", "eslint-plugin-n": "^17.21.0", - "eslint-plugin-promise": "^7.2.1", "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", @@ -89,8 +86,8 @@ "netlify-cli": "^22.2.2", "npm": "^11.4.2", "nx": "21.2.2", - "prettier": "^2.6.2", - "puppeteer": "^21.6.1", + "prettier": "^3.6.2", + "puppeteer": "^24.12.1", "serve": "^14.2.1", "swc-loader": "0.1.15", "ts-jest": "^29.1.0", From 9a8b6b2f43037fdd8e0a0aa9a6b28f64372e9f50 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 14 Jul 2025 18:19:21 -0700 Subject: [PATCH 12/22] Update github action Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .github/workflows/check-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-tests.yml b/.github/workflows/check-tests.yml index 783dc2fb..b4381cf1 100644 --- a/.github/workflows/check-tests.yml +++ b/.github/workflows/check-tests.yml @@ -23,7 +23,7 @@ jobs: - name: Check Linter and Build 📑 run: | npm run build - npx eslint . --ext .js,.jsx,.ts,.tsx + npm run lint unit-test: runs-on: ubuntu-latest From b9b6b0de1551c681ddf75311b1aa9127570d74e9 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 14 Jul 2025 18:28:07 -0700 Subject: [PATCH 13/22] Update test Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js b/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js index b48fb5da..3f541ce2 100644 --- a/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js +++ b/packages/millicast-sdk/tests/e2e/FunctionalPublish.steps.js @@ -72,7 +72,7 @@ defineFeature(feature, (test) => { isActive = await broadcastPage.evaluate('window.publish.isActive()') videoFrame1 = await viewerPage.evaluate('getVideoPixelSums()') - await viewerPage.waitForTimeout(500) + await new Promise((resolve) => setTimeout(resolve, 500)); videoFrame2 = await viewerPage.evaluate('getVideoPixelSums()') }) From 6f6f3c22c2b220d772f116dddfbae7404e8f9f84 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Wed, 16 Jul 2025 14:35:05 -0700 Subject: [PATCH 14/22] Update jest dependencies Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package-lock.json | 14111 +++++++++++--------------- package.json | 13 - packages/millicast-sdk/package.json | 25 +- 3 files changed, 6064 insertions(+), 8085 deletions(-) diff --git a/package-lock.json b/package-lock.json index cc6a046f..7ac0f3e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,19 +8,6 @@ "workspaces": [ "packages/*" ], - "dependencies": { - "@dolbyio/webrtc-stats": "^1.0.4", - "buffer": "^6.0.3", - "events": "^3.3.0", - "js-base64": "^3.7.7", - "js-logger": "^1.6.1", - "jwt-decode": "^3.1.2", - "re-emitter": "^1.1.4", - "semantic-sdp": "^3.22.0", - "transaction-manager": "^2.1.3", - "tslib": "^2.7.0", - "ua-parser-js": "^1.0.38" - }, "devDependencies": { "@babel/core": "^7.23.6", "@babel/helpers": "^7.13.10", @@ -98,6 +85,27 @@ "node": ">=6.0.0" } }, + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -114,9 +122,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "dev": true, "license": "MIT", "engines": { @@ -124,22 +132,22 @@ } }, "node_modules/@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", + "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.6", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -155,15 +163,16 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", + "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.0", + "@babel/types": "^7.28.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -198,14 +207,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -271,6 +280,16 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", @@ -286,30 +305,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -332,9 +350,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "license": "MIT", "engines": { @@ -426,9 +444,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -725,13 +743,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -851,13 +869,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", - "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1890,19 +1908,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", + "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.0", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" @@ -1929,23 +1947,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, "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", @@ -1970,41 +1971,156 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@cucumber/gherkin": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-17.0.2.tgz", - "integrity": "sha512-U8ZxbYVLEXqUy4Fx9BJ5ncIzXz/eVg+fKV2F8B1t5f6eDMgPQ2Aq3M8gy3yE422OAuJ+RFRuezNtuEbpmf2r4g==", + "node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "dependencies": { - "@cucumber/messages": "^14.0.1", - "commander": "^7.1.0", - "source-map-support": "^0.5.19" + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" }, - "bin": { - "gherkin-javascript": "bin/gherkin" + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@cucumber/gherkin/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==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@cucumber/gherkin": { + "version": "28.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-28.0.0.tgz", + "integrity": "sha512-Ee6zJQq0OmIUPdW0mSnsCsrWA2PZAELNDPICD2pLfs0Oz7RAPgj80UsD2UCtqyAhw2qAR62aqlktKUlai5zl/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cucumber/messages": ">=19.1.4 <=24" } }, "node_modules/@cucumber/messages": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-14.1.2.tgz", - "integrity": "sha512-QV8sA7QwHuDGwTrFOCu2xMUvW9bLkBmMMRKId7s4swpQj9WyL8uFMsQ452W6wWTKNdIfKhRU3Ykptr87SKfg7w==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-24.1.0.tgz", + "integrity": "sha512-hxVHiBurORcobhVk80I9+JkaKaNXkW6YwGOEFIh/2aO+apAN+5XJgUUWjng9NwqaQrW1sCFuawLB1AuzmBaNdQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/uuid": "^8.3.0", - "protobufjs": "^6.10.2", - "uuid": "^8.3.2" + "@types/uuid": "9.0.8", + "class-transformer": "0.5.1", + "reflect-metadata": "0.2.1", + "uuid": "9.0.1" + } + }, + "node_modules/@cucumber/messages/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/@dolbyio/webrtc-stats": { @@ -2017,20 +2133,20 @@ } }, "node_modules/@emnapi/core": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", - "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.4.tgz", + "integrity": "sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g==", "dev": true, "license": "MIT", "dependencies": { - "@emnapi/wasi-threads": "1.0.1", + "@emnapi/wasi-threads": "1.0.3", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", - "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz", + "integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==", "dev": true, "license": "MIT", "dependencies": { @@ -2038,9 +2154,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", - "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.3.tgz", + "integrity": "sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw==", "dev": true, "license": "MIT", "dependencies": { @@ -2747,6 +2863,109 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "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/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "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", @@ -2798,6 +3017,7 @@ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -2853,6 +3073,16 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", @@ -2869,6 +3099,228 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/environment-jsdom-abstract": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.4.tgz", + "integrity": "sha512-pUKfqgr5Nki9kZ/3iV+ubDsvtPq0a0oNL6zqkKLM1tPQI8FBJeuWskvW1kzc5pOvqlgpzumYZveJ4bxhANY0hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.4", + "@jest/fake-timers": "30.0.4", + "@jest/types": "30.0.1", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jest-mock": "30.0.2", + "jest-util": "30.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/environment": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", + "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-mock": "30.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/fake-timers": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", + "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.2", + "jest-mock": "30.0.2", + "jest-util": "30.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/schemas": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", + "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/types": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", + "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-message-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", + "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-mock": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", + "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-util": "30.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", + "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@jest/environment-jsdom-abstract/node_modules/pretty-format": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.1", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, "node_modules/@jest/expect": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", @@ -2914,6 +3366,16 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/get-type": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz", + "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, "node_modules/@jest/globals": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", @@ -2930,6 +3392,30 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern/node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, "node_modules/@jest/reporters": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", @@ -2987,6 +3473,61 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/snapshot-utils": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.4.tgz", + "integrity": "sha512-BEpX8M/Y5lG7MI3fmiO+xCnacOrVsnbqVrcDZIT8aSGkKV1w2WwvRQxSWw5SIS8ozg7+h8tSj5EO1Riqqxcdag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/@jest/schemas": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", + "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/@jest/types": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", + "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, "node_modules/@jest/source-map": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", @@ -3080,18 +3621,14 @@ } }, "node_modules/@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==", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -3104,16 +3641,6 @@ "node": ">=6.0.0" } }, - "node_modules/@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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", @@ -3133,9 +3660,9 @@ "license": "MIT" }, "node_modules/@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==", + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6998,86 +7525,36 @@ "typescript": "^3 || ^4 || ^5" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "node_modules/@pkgr/core": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", + "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT" }, "node_modules/@puppeteer/browsers": { "version": "2.10.5", @@ -8223,17 +8700,6 @@ "dev": true, "license": "MIT" }, - "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, - "license": "MIT", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -8293,9 +8759,9 @@ } }, "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", "dev": true, "license": "MIT", "dependencies": { @@ -8326,13 +8792,6 @@ "license": "MIT", "peer": true }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/markdown-it": { "version": "14.1.2", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", @@ -8353,13 +8812,6 @@ "license": "MIT", "peer": true }, - "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, - "license": "MIT" - }, "node_modules/@types/node": { "version": "24.0.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.13.tgz", @@ -8370,13 +8822,6 @@ "undici-types": "~7.8.0" } }, - "node_modules/@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, - "license": "MIT" - }, "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", @@ -8384,13 +8829,6 @@ "dev": true, "license": "MIT" }, - "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, - "license": "MIT" - }, "node_modules/@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", @@ -8430,9 +8868,9 @@ "license": "MIT" }, "node_modules/@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", "dev": true, "license": "MIT" }, @@ -8778,6 +9216,306 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@vitest/expect": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", @@ -9296,40 +10034,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals/node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/acorn-import-attributes": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", @@ -9592,36 +10296,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -9662,16 +10336,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", @@ -9764,16 +10428,6 @@ "node": ">=12" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ast-types": { "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", @@ -9821,19 +10475,6 @@ "dev": true, "license": "MIT" }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -10148,38 +10789,6 @@ } } }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -10462,13 +11071,6 @@ "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/browserslist": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", @@ -10599,27 +11201,6 @@ "node": ">=8" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -10722,19 +11303,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "license": "ISC", - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", @@ -10928,48 +11496,12 @@ "dev": true, "license": "MIT" }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } + "license": "MIT" }, "node_modules/clean-css": { "version": "5.3.3", @@ -11144,20 +11676,6 @@ "dev": true, "license": "MIT" }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -11236,16 +11754,6 @@ "dev": true, "license": "MIT" }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -11387,16 +11895,6 @@ "dev": true, "license": "MIT" }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/core-js": { "version": "3.38.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", @@ -11466,6 +11964,7 @@ "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -11504,13 +12003,6 @@ "node": ">= 8" } }, - "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, - "license": "MIT" - }, "node_modules/cssstyle": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", @@ -11659,33 +12151,13 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "dev": true, "license": "MIT" }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -11789,20 +12261,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/degenerator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", @@ -12837,19 +13295,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", @@ -12964,13 +13409,6 @@ "node": ">=0.8.x" } }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true, - "license": "MIT" - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -13004,92 +13442,16 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "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" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/expand-tilde": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", @@ -13121,12 +13483,13 @@ } }, "node_modules/expect-puppeteer": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-9.0.2.tgz", - "integrity": "sha512-nv3RD8MOStXOf4bLpr1wiqxPMLL7MwXvtMeZBtGvg5bubAHiHcYBcvDTJwkUjdOWz3scjOnOOl5z6KZakMobCw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-11.0.0.tgz", + "integrity": "sha512-fgxsbOD+HqwOCMitYqEDzRoJM2fxKbCKPYfUoukK+qdZm/nC+cTOI74Au2MfmMZmF/5CgQGO4+1Ywq2GgD8zCQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/expect-type": { @@ -13146,76 +13509,6 @@ "dev": true, "license": "MIT" }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -13468,28 +13761,28 @@ } }, "node_modules/find-process": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.7.tgz", - "integrity": "sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==", + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.11.tgz", + "integrity": "sha512-mAOh9gGk9WZ4ip5UjV0o6Vb4SrfnAmtsFNzkMRH9HQiFXVQnDyQFrSHTK5UoG6E+KV+s+cIznbtwpfN41l2nFA==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "commander": "^5.1.0", - "debug": "^4.1.1" + "chalk": "~4.1.2", + "commander": "^12.1.0", + "loglevel": "^1.9.2" }, "bin": { "find-process": "bin/find-process.js" } }, "node_modules/find-process/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=18" } }, "node_modules/find-up": { @@ -13590,14 +13883,34 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/form-data": { @@ -13615,19 +13928,6 @@ "node": ">= 6" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/front-matter": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", @@ -13868,16 +14168,6 @@ "node": ">= 14" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -13935,16 +14225,6 @@ "node": ">=0.10.0" } }, - "node_modules/global-modules/node_modules/is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/global-prefix": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", @@ -13961,16 +14241,6 @@ "node": ">=0.10.0" } }, - "node_modules/global-prefix/node_modules/is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -14044,7 +14314,8 @@ "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true, "license": "MIT", - "optional": true + "optional": true, + "peer": true }, "node_modules/harmony-reflect": { "version": "1.6.2", @@ -14134,74 +14405,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -14448,13 +14651,13 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -14672,19 +14875,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -14776,13 +14966,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -14796,26 +14979,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true, - "license": "MIT" - }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -14832,19 +14995,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/is-data-view": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", @@ -14880,20 +15030,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "dev": true, - "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", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -14910,19 +15046,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -15081,19 +15204,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-port-reachable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", @@ -15246,13 +15356,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "license": "MIT" - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -15313,9 +15416,9 @@ } }, "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", "dev": true, "license": "MIT", "engines": { @@ -15349,16 +15452,6 @@ "dev": true, "license": "ISC" }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -15466,6 +15559,22 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", @@ -15491,6 +15600,7 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -15518,6 +15628,7 @@ "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -15533,6 +15644,7 @@ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -15543,19 +15655,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-changed-files/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-circus": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", @@ -15668,25 +15767,13 @@ "node": ">= 6" } }, - "node_modules/jest-circus/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-cli": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -15762,1048 +15849,993 @@ } }, "node_modules/jest-cucumber": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jest-cucumber/-/jest-cucumber-3.0.2.tgz", - "integrity": "sha512-RLOiCMY4YzWMd9H5CmDiRpcO8wILiIfYi+NkdCVnvG6ZYQH4TRpATz6PtmEejwXb/KD3gjzxSKVqqssaA1ObYA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jest-cucumber/-/jest-cucumber-4.5.0.tgz", + "integrity": "sha512-EGVqkeE6xM/wnpWuLuB3AMQs4vNkLDwOuH3bsH2AigphAqDp+k3E+AIh0FAKhJ/1IjLTfZKyupIPRlYN62YZ+A==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@cucumber/gherkin": "^17.0.0", - "@types/glob": "^7.1.3", - "@types/jest": "^26.0.7", - "@types/node": "^11.9.4", - "@types/uuid": "^8.3.0", + "@cucumber/gherkin": "^28.0.0", "callsites": "^3.0.0", - "glob": "^7.1.6", - "jest": "^26.1.0" + "glob": "^10.3.10", + "uuid": "^10.0.0" + }, + "peerDependencies": { + "@types/jest": ">=29.5.12", + "jest": ">=29.7.0", + "vitest": ">=1.4.0" + }, + "peerDependenciesMeta": { + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } } }, - "node_modules/jest-cucumber/node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "node_modules/jest-cucumber/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/jest-cucumber/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 10.14.2" + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-cucumber/node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "node_modules/jest-cucumber/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-cucumber/node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "node_modules/jest-cucumber/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/jest-dev-server": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-11.0.0.tgz", + "integrity": "sha512-a54rw3uEzsPckyiXo2rPji9R/5z0d0qhXtru+NwCP8cDxOFk/BIP9PNgmcLh0DU8UTl8s6Lg1u+ri5uQsTJTmw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" + "chalk": "^4.1.2", + "cwd": "^0.10.0", + "find-process": "^1.4.7", + "prompts": "^2.4.2", + "spawnd": "^11.0.0", + "tree-kill": "^1.2.2", + "wait-on": "^8.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/types": "^29.6.3", "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "node_modules/jest-environment-jsdom": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.4.tgz", + "integrity": "sha512-9WmS3oyCLFgs6DUJSoMpVb+AbH62Y2Xecw3XClbRgj6/Z+VjNeSLjrhBgVvTZ40njZTWeDHv8unp+6M/z8ADDg==", "dev": true, "license": "MIT", "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "@jest/environment": "30.0.4", + "@jest/environment-jsdom-abstract": "30.0.4", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jsdom": "^26.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-cucumber/node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", + "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@jest/fake-timers": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-mock": "30.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", + "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "@jest/types": "30.0.1", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.2", + "jest-mock": "30.0.2", + "jest-util": "30.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "node_modules/jest-environment-jsdom/node_modules/@jest/schemas": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", + "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", + "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/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==", + "node_modules/jest-environment-jsdom/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/jest-cucumber/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==", + "node_modules/jest-environment-jsdom/node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 14" } }, - "node_modules/jest-cucumber/node_modules/@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", + "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cucumber/node_modules/@types/node": { - "version": "11.15.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.15.54.tgz", - "integrity": "sha512-1RWYiq+5UfozGsU6MwJyFX6BtktcT10XRjvcAQmskCtMcW3tPske88lM/nHv7BQG1w9KBXI1zPGuu5PnNCX14g==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "node_modules/jest-environment-jsdom/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=8" } }, - "node_modules/jest-cucumber/node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "node_modules/jest-environment-jsdom/node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, "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" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/jest-environment-jsdom/node_modules/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, "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-cucumber/node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/jest-cucumber/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/jest-environment-jsdom/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "cssom": "~0.3.6" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/jest-cucumber/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", + "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", + "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-util": "30.0.2" + }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", + "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", "dev": true, "license": "MIT", "dependencies": { - "webidl-conversions": "^5.0.0" + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cucumber/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", + "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-cucumber/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/jest-environment-jsdom/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jest-cucumber/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "node_modules/jest-environment-jsdom/node_modules/pretty-format": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" + "@jest/schemas": "30.0.1", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/form-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", - "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "node_modules/jest-environment-jsdom/node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "pump": "^3.0.0" + "tldts": "^6.1.32" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16" } }, - "node_modules/jest-cucumber/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-environment-jsdom/node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">= 6" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=8.12.0" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, + "license": "Apache-2.0", "engines": { - "node": ">= 10.14.2" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "node_modules/jest-environment-puppeteer": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-11.0.0.tgz", + "integrity": "sha512-BJR+k19/awJmXVc5IJ3VY+tho0888PvHAp16D+DP/ezRL84bgg4ggc1Q3mfa85DI+Nw9hgTme3pt0X5F7CWxmg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" + "chalk": "^4.1.2", + "cosmiconfig": "^8.3.6", + "deepmerge": "^4.3.1", + "jest-dev-server": "^11.0.0", + "jest-environment-node": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=18" } }, - "node_modules/jest-cucumber/node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "node_modules/jest-environment-puppeteer/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, + "license": "Python-2.0" + }, + "node_modules/jest-environment-puppeteer/node_modules/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, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" }, "peerDependencies": { - "ts-node": ">=9.0.0" + "typescript": ">=4.9.5" }, "peerDependenciesMeta": { - "ts-node": { + "typescript": { "optional": true } } }, - "node_modules/jest-cucumber/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "node_modules/jest-environment-puppeteer/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "argparse": "^2.0.1" }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/jest-cucumber/node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^29.6.3", "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/jest-cucumber/node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "node_modules/jest-puppeteer": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-11.0.0.tgz", + "integrity": "sha512-kixkUTNcXikldQ+TusIEvqtTO/et/MiXGkoUBQViPSdSN6JOPvTjDN/mo6Jh4EJzay8qFg/Sd4v4gPS0y9b+zw==", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "expect-puppeteer": "^11.0.0", + "jest-environment-puppeteer": "^11.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=18" + }, + "peerDependencies": { + "puppeteer": ">=19" } }, - "node_modules/jest-cucumber/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "node_modules/jest-resolve/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-cucumber/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "node_modules/jest-runner/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/jest-cucumber/node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-cucumber/node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", + "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "strip-bom": "^4.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-snapshot/node_modules/semver": { + "node_modules/jest-snapshot/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", @@ -16816,3842 +16848,1593 @@ "node": ">=10" } }, - "node_modules/jest-cucumber/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", + "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "pretty-format": "^29.7.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cucumber/node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^26.6.2", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", "string-length": "^4.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/jest-websocket-mock": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jest-websocket-mock/-/jest-websocket-mock-2.5.0.tgz", + "integrity": "sha512-a+UJGfowNIWvtIKIQBHoEWIUqRxxQHFx4CXT+R5KxxKBtEQ5rS3pPOV/5299sHzqbmeCzxxY5qE4+yfXePePig==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "jest-diff": "^29.2.0", + "mock-socket": "^9.3.0" } }, - "node_modules/jest-cucumber/node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "license": "MIT", "dependencies": { - "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" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cucumber/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/jest-cucumber/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cucumber/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-cucumber/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/jest-cucumber/node_modules/v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dev": true, - "license": "ISC", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } + "node_modules/js-base64": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", + "license": "BSD-3-Clause" + }, + "node_modules/js-logger": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/js-logger/-/js-logger-1.6.1.tgz", + "integrity": "sha512-yTgMCPXVjhmg28CuUH8CKjU+cIKL/G+zTu4Fn4lQxs8mRFH/03QTNvEFngcxfg/gRDiQAOoyCKmMTOm9ayOzXA==", + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cucumber/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=10.4" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-cucumber/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==", + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "iconv-lite": "0.4.24" + "xmlcreate": "^2.0.4" } }, - "node_modules/jest-cucumber/node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "dev": true, "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/jsdoc": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", + "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^14.1.1", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^8.6.7", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" } }, - "node_modules/jest-cucumber/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/jest-cucumber/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, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-cucumber/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", "dev": true, "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, "engines": { - "node": ">=8.3.0" + "node": ">=16" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "canvas": "^2.5.0" }, "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { + "canvas": { "optional": true } } }, - "node_modules/jest-cucumber/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, - "license": "Apache-2.0" - }, - "node_modules/jest-cucumber/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-cucumber/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, "license": "MIT", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-cucumber/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/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, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/jest-cucumber/node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/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, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, "engines": { "node": ">=6" } }, - "node_modules/jest-dev-server": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-9.0.2.tgz", - "integrity": "sha512-Zc/JB0IlNNrpXkhBw+h86cGrde/Mey52KvF+FER2eyrtYJTHObOwW7Iarxm3rPyTKby5+3Y2QZtl8pRz/5GCxg==", + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "cwd": "^0.10.0", - "find-process": "^1.4.7", - "prompts": "^2.4.2", - "spawnd": "^9.0.2", - "tree-kill": "^1.2.2", - "wait-on": "^7.2.0" + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=16" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/jsonc-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "node_modules/jsonc-eslint-parser/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "node_modules/jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "json-buffer": "3.0.1" } }, - "node_modules/jest-environment-jsdom/node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" + "graceful-fs": "^4.1.9" } }, - "node_modules/jest-environment-jsdom/node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", "dev": true, "license": "MIT" }, - "node_modules/jest-environment-jsdom/node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/jest-environment-jsdom/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" + "uc.micro": "^2.0.0" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "node_modules/lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-environment-puppeteer": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-9.0.2.tgz", - "integrity": "sha512-t7+W4LUiPoOz+xpKREgnu6IElMuRthOWTkrThDZqVKPmLhwbK3yx7OCiX8xT1Pw/Cv5WnSoNhwtN7czdCC3fQg==", + "node_modules/lint-staged/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "cosmiconfig": "^8.3.6", - "deepmerge": "^4.3.1", - "jest-dev-server": "^9.0.2", - "jest-environment-node": "^29.7.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": ">=16" + "node": ">=10" } }, - "node_modules/jest-environment-puppeteer/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, - "license": "Python-2.0" - }, - "node_modules/jest-environment-puppeteer/node_modules/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/lint-staged/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "license": "MIT", "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-environment-puppeteer/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "pump": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/lint-staged/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.12.0" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/lint-staged/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, + "license": "ISC", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">= 6" } }, - "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, + "peer": true, "engines": { - "node": ">= 10.14.2" + "node": ">=6.11.5" } }, - "node_modules/jest-jasmine2/node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8.9.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "p-locate": "^4.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/loglevel": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", + "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, "engines": { - "node": ">= 10.14.2" + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/loupe": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "tslib": "^2.0.3" } }, - "node_modules/jest-jasmine2/node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "yallist": "^3.0.2" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jest-jasmine2/node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "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" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "tmpl": "1.0.5" } }, - "node_modules/jest-jasmine2/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/jest-jasmine2/node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "license": "Unlicense", + "peer": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" } }, - "node_modules/jest-jasmine2/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "node_modules/markdown-it/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, - "license": "MIT" + "license": "Python-2.0" }, - "node_modules/jest-jasmine2/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/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, "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" + "peer": true, + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=8" + "node": ">= 12" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "node_modules/jest-jasmine2/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true, "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/data-urls": { + "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">= 8" } }, - "node_modules/jest-jasmine2/node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { - "webidl-conversions": "^5.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/jest-jasmine2/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" - } + "node_modules/millicast-chromecast-receiver": { + "resolved": "packages/millicast-chromecast-receiver", + "link": true }, - "node_modules/jest-jasmine2/node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "node_modules/millicast-multiview-demo": { + "resolved": "packages/millicast-multiview-demo", + "link": true + }, + "node_modules/millicast-publisher-demo": { + "resolved": "packages/millicast-publisher-demo", + "link": true + }, + "node_modules/millicast-viewer-demo": { + "resolved": "packages/millicast-viewer-demo", + "link": true + }, + "node_modules/millicast-webaudio-delay-demo": { + "resolved": "packages/millicast-webaudio-delay-demo", + "link": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "bin": { + "mime": "cli.js" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, "engines": { - "node": ">= 10.14.2" + "node": ">= 0.6" } }, - "node_modules/jest-jasmine2/node_modules/form-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", - "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "mime-db": "1.52.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.6" } }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-jasmine2/node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "whatwg-encoding": "^1.0.5" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/jest-jasmine2/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, + "license": "ISC", "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } + "node": ">=16 || 14 >=14.17" } }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } + "license": "MIT" }, - "node_modules/jest-jasmine2/node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" } }, - "node_modules/jest-jasmine2/node_modules/jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "node_modules/mock-socket": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", + "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, "engines": { - "node": ">= 10.14.2" + "node": ">= 8" } }, - "node_modules/jest-jasmine2/node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, "engines": { - "node": ">= 10.14.2" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">= 10.14.2" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "node_modules/napi-postinstall": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.0.tgz", + "integrity": "sha512-M7NqKyhODKV1gRLdkwE7pDsZP2/SC2a2vHkOYh9MCpKMbWVfyVfUw5MaH83Fv6XMjxr5jryUp3IDDL9rlxsTeA==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "bin": { + "napi-postinstall": "lib/cli.js" }, "engines": { - "node": ">= 10.14.2" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, - "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "license": "MIT", - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, "engines": { - "node": ">= 10.14.2" + "node": ">= 0.6" } }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } + "peer": true }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "node_modules/netlify-cli": { + "version": "22.2.2", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-22.2.2.tgz", + "integrity": "sha512-g2NepIGfGzpSGTQr0W3LvdahytllYqkZVZiUbNKBkBwM1ZxlCc5hFCgZdYUGg0iuItvvPPd9dY8NpGL6ifhGpQ==", "dev": true, + "hasInstallScript": true, + "hasShrinkwrap": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "@fastify/static": "7.0.4", + "@netlify/api": "14.0.3", + "@netlify/blobs": "9.1.6", + "@netlify/build": "33.5.0", + "@netlify/build-info": "10.0.7", + "@netlify/config": "23.0.11", + "@netlify/edge-bundler": "14.0.6", + "@netlify/edge-functions": "2.15.5", + "@netlify/headers-parser": "9.0.1", + "@netlify/local-functions-proxy": "2.0.3", + "@netlify/redirect-parser": "15.0.2", + "@netlify/zip-it-and-ship-it": "12.2.0", + "@octokit/rest": "21.1.1", + "@opentelemetry/api": "1.8.0", + "@pnpm/tabtab": "0.5.4", + "ansi-escapes": "7.0.0", + "ansi-to-html": "0.7.2", + "ascii-table": "0.0.9", + "backoff": "2.5.0", + "boxen": "8.0.1", + "chalk": "5.4.1", + "chokidar": "3.6.0", + "ci-info": "4.2.0", + "clean-deep": "3.4.0", + "commander": "12.1.0", + "comment-json": "4.2.5", + "content-type": "1.0.5", + "cookie": "1.0.2", + "cron-parser": "4.9.0", + "debug": "4.4.0", + "decache": "4.6.2", + "dot-prop": "9.0.0", + "dotenv": "16.5.0", + "env-paths": "3.0.0", + "envinfo": "7.14.0", + "etag": "1.8.1", + "execa": "5.1.1", + "express": "4.21.2", + "express-logging": "1.1.1", + "extract-zip": "2.0.1", + "fastest-levenshtein": "1.0.16", + "fastify": "4.29.1", + "find-up": "7.0.0", + "folder-walker": "3.2.0", + "fuzzy": "0.1.3", + "get-port": "5.1.1", + "gh-release-fetch": "4.0.3", + "git-repo-info": "2.1.1", + "gitconfiglocal": "2.1.0", + "http-proxy": "1.18.1", + "http-proxy-middleware": "2.0.9", + "https-proxy-agent": "7.0.6", + "inquirer": "8.2.6", + "inquirer-autocomplete-prompt": "1.4.0", + "ipx": "2.1.0", + "is-docker": "3.0.0", + "is-stream": "4.0.1", + "is-wsl": "3.1.0", + "isexe": "3.1.1", + "jsonwebtoken": "9.0.2", + "jwt-decode": "4.0.0", + "lambda-local": "2.2.0", + "locate-path": "7.2.0", + "lodash": "4.17.21", + "log-update": "6.1.0", + "maxstache": "1.0.7", + "maxstache-stream": "1.0.4", + "multiparty": "4.2.3", + "nanospinner": "1.2.2", + "netlify-redirector": "0.5.0", + "node-fetch": "3.3.2", + "normalize-package-data": "6.0.2", + "open": "10.1.2", + "p-filter": "4.1.0", + "p-map": "7.0.3", + "p-wait-for": "5.0.2", + "parallel-transform": "1.2.0", + "parse-github-url": "1.0.3", + "parse-gitignore": "2.0.0", + "prettyjson": "1.2.5", + "raw-body": "3.0.0", + "read-package-up": "11.0.0", + "readdirp": "4.1.2", + "semver": "7.7.1", + "source-map-support": "0.5.21", + "terminal-link": "4.0.0", + "toml": "3.0.0", + "tomlify-j0.4": "3.0.0", + "ulid": "3.0.0", + "update-notifier": "7.3.1", + "uuid": "11.1.0", + "wait-port": "1.1.0", + "write-file-atomic": "5.0.1", + "ws": "8.18.2" + }, + "bin": { + "netlify": "bin/run.js", + "ntl": "bin/run.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=20.12.2" } }, - "node_modules/jest-jasmine2/node_modules/jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "node_modules/netlify-cli/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6.9.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 10.14.2" + "node": ">=6.9.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">= 10.14.2" + "node": ">=6.9.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "node_modules/netlify-cli/node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" + "@babel/types": "^7.27.3" }, "bin": { - "jest-runtime": "bin/jest-runtime.js" + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6.0.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "node_modules/netlify-cli/node_modules/@babel/types": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6.9.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "node_modules/netlify-cli/node_modules/@bugsnag/browser": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-8.2.0.tgz", + "integrity": "sha512-C4BfE3eVsjOAqoXbdrPXfKbgp/hz2H7mKBU0p11Jf9uz+5gUCfZK+39JLrQKvRXwqoDcTlBSfz9Xz5kXLyHg2Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" + "@bugsnag/core": "^8.2.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "node_modules/netlify-cli/node_modules/@bugsnag/core": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-8.2.0.tgz", + "integrity": "sha512-dFSs80ZwJ508nlC6UTLTUMdHgTaHY5UKvMiuHqstCQrQrOjqFcIv+x4o+l2WrSyOpoYhHAxDlKfzKN8AjwslQw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" + "@bugsnag/cuid": "^3.0.0", + "@bugsnag/safe-json-stringify": "^6.0.0", + "error-stack-parser": "^2.0.3", + "iserror": "^0.0.2", + "stack-generator": "^2.0.3" } }, - "node_modules/jest-jasmine2/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/netlify-cli/node_modules/@bugsnag/cuid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@bugsnag/cuid/-/cuid-3.1.1.tgz", + "integrity": "sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@bugsnag/js": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-8.2.0.tgz", + "integrity": "sha512-DTtQwV1Ly5VXSOnVtzW8gSwB+ld3qIc/h0yMS836DEYUfA3V9JPwJE3+2EbD8Ea2ogkDWZ+a0jl0SNSNGiOmfA==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "@bugsnag/browser": "^8.2.0", + "@bugsnag/node": "^8.2.0" } }, - "node_modules/jest-jasmine2/node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "node_modules/netlify-cli/node_modules/@bugsnag/node": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-8.2.0.tgz", + "integrity": "sha512-6XC/KgX61m6YFgsBQP/GaH1UzlJkJmpi3AwlZQLsXloRh3O9lM/0EIk6+2sZm+vlz+GwxCFavcuIDgVmH/qi7Q==", "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 - } + "@bugsnag/core": "^8.2.0", + "byline": "^5.0.0", + "error-stack-parser": "^2.0.3", + "iserror": "^0.0.2", + "pump": "^3.0.0", + "stack-generator": "^2.0.3" } }, - "node_modules/jest-jasmine2/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/@bugsnag/safe-json-stringify": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", + "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==", + "dev": true }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/netlify-cli/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, - "license": "MIT", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, "engines": { - "node": ">= 10" + "node": ">=0.1.90" } }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/netlify-cli/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, - "license": "ISC", "dependencies": { - "xmlchars": "^2.2.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/jest-jasmine2/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/netlify-cli/node_modules/@dabh/diagnostics": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", + "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/@dependents/detective-less": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", + "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "gonzales-pe": "^4.3.0", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/jest-jasmine2/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/netlify-cli/node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", "dev": true, - "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=18.0.0" } }, - "node_modules/jest-jasmine2/node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/netlify-cli/node_modules/@envelop/instrumentation/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/jest-jasmine2/node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "cpu": [ + "arm" + ], "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10.4" + "node": ">=18" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "iconv-lite": "0.4.24" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/jest-jasmine2/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, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/jest-jasmine2/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/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, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/jest-jasmine2/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "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 - } - } - }, - "node_modules/jest-jasmine2/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, - "license": "Apache-2.0" - }, - "node_modules/jest-jasmine2/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-jasmine2/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-jasmine2/node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-puppeteer": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-9.0.2.tgz", - "integrity": "sha512-ZB0K/tH+0e7foRRn+VpKIufvkW1by8l7ifh62VOdOh5ijEf7yt8W2/PcBNNwP0RLm46AytiBkrIEenvWhxcBRQ==", - "dev": true, - "dependencies": { - "expect-puppeteer": "^9.0.2", - "jest-environment-puppeteer": "^9.0.2" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "puppeteer": ">=19" - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-runner/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-websocket-mock": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/jest-websocket-mock/-/jest-websocket-mock-2.5.0.tgz", - "integrity": "sha512-a+UJGfowNIWvtIKIQBHoEWIUqRxxQHFx4CXT+R5KxxKBtEQ5rS3pPOV/5299sHzqbmeCzxxY5qE4+yfXePePig==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-diff": "^29.2.0", - "mock-socket": "^9.3.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", - "dev": true, - "license": "MIT" - }, - "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-base64": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", - "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", - "license": "BSD-3-Clause" - }, - "node_modules/js-logger": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/js-logger/-/js-logger-1.6.1.tgz", - "integrity": "sha512-yTgMCPXVjhmg28CuUH8CKjU+cIKL/G+zTu4Fn4lQxs8mRFH/03QTNvEFngcxfg/gRDiQAOoyCKmMTOm9ayOzXA==", - "license": "MIT" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "xmlcreate": "^2.0.4" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsdoc": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", - "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^14.1.1", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^14.1.0", - "markdown-it-anchor": "^8.6.7", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "bin": { - "jsdoc": "jsdoc.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsdoc/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", - "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-eslint-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", - "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - } - }, - "node_modules/jsonc-eslint-parser/node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/jsonc-eslint-parser/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" - } - }, - "node_modules/lint-staged": { - "version": "10.5.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", - "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/lint-staged/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@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/lint-staged/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "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/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/loupe": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", - "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" - } - }, - "node_modules/markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", - "dev": true, - "license": "Unlicense", - "peer": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" - } - }, - "node_modules/markdown-it/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, - "license": "Python-2.0" - }, - "node_modules/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, - "license": "MIT", - "peer": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/millicast-chromecast-receiver": { - "resolved": "packages/millicast-chromecast-receiver", - "link": true - }, - "node_modules/millicast-multiview-demo": { - "resolved": "packages/millicast-multiview-demo", - "link": true - }, - "node_modules/millicast-publisher-demo": { - "resolved": "packages/millicast-publisher-demo", - "link": true - }, - "node_modules/millicast-viewer-demo": { - "resolved": "packages/millicast-viewer-demo", - "link": true - }, - "node_modules/millicast-webaudio-delay-demo": { - "resolved": "packages/millicast-webaudio-delay-demo", - "link": true - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true, - "license": "MIT" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mlly": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", - "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^2.0.1", - "pkg-types": "^1.3.0", - "ufo": "^1.5.4" - } - }, - "node_modules/mock-socket": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", - "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "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", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "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", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/netlify-cli": { - "version": "22.2.2", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-22.2.2.tgz", - "integrity": "sha512-g2NepIGfGzpSGTQr0W3LvdahytllYqkZVZiUbNKBkBwM1ZxlCc5hFCgZdYUGg0iuItvvPPd9dY8NpGL6ifhGpQ==", - "dev": true, - "hasInstallScript": true, - "hasShrinkwrap": true, - "license": "MIT", - "dependencies": { - "@fastify/static": "7.0.4", - "@netlify/api": "14.0.3", - "@netlify/blobs": "9.1.6", - "@netlify/build": "33.5.0", - "@netlify/build-info": "10.0.7", - "@netlify/config": "23.0.11", - "@netlify/edge-bundler": "14.0.6", - "@netlify/edge-functions": "2.15.5", - "@netlify/headers-parser": "9.0.1", - "@netlify/local-functions-proxy": "2.0.3", - "@netlify/redirect-parser": "15.0.2", - "@netlify/zip-it-and-ship-it": "12.2.0", - "@octokit/rest": "21.1.1", - "@opentelemetry/api": "1.8.0", - "@pnpm/tabtab": "0.5.4", - "ansi-escapes": "7.0.0", - "ansi-to-html": "0.7.2", - "ascii-table": "0.0.9", - "backoff": "2.5.0", - "boxen": "8.0.1", - "chalk": "5.4.1", - "chokidar": "3.6.0", - "ci-info": "4.2.0", - "clean-deep": "3.4.0", - "commander": "12.1.0", - "comment-json": "4.2.5", - "content-type": "1.0.5", - "cookie": "1.0.2", - "cron-parser": "4.9.0", - "debug": "4.4.0", - "decache": "4.6.2", - "dot-prop": "9.0.0", - "dotenv": "16.5.0", - "env-paths": "3.0.0", - "envinfo": "7.14.0", - "etag": "1.8.1", - "execa": "5.1.1", - "express": "4.21.2", - "express-logging": "1.1.1", - "extract-zip": "2.0.1", - "fastest-levenshtein": "1.0.16", - "fastify": "4.29.1", - "find-up": "7.0.0", - "folder-walker": "3.2.0", - "fuzzy": "0.1.3", - "get-port": "5.1.1", - "gh-release-fetch": "4.0.3", - "git-repo-info": "2.1.1", - "gitconfiglocal": "2.1.0", - "http-proxy": "1.18.1", - "http-proxy-middleware": "2.0.9", - "https-proxy-agent": "7.0.6", - "inquirer": "8.2.6", - "inquirer-autocomplete-prompt": "1.4.0", - "ipx": "2.1.0", - "is-docker": "3.0.0", - "is-stream": "4.0.1", - "is-wsl": "3.1.0", - "isexe": "3.1.1", - "jsonwebtoken": "9.0.2", - "jwt-decode": "4.0.0", - "lambda-local": "2.2.0", - "locate-path": "7.2.0", - "lodash": "4.17.21", - "log-update": "6.1.0", - "maxstache": "1.0.7", - "maxstache-stream": "1.0.4", - "multiparty": "4.2.3", - "nanospinner": "1.2.2", - "netlify-redirector": "0.5.0", - "node-fetch": "3.3.2", - "normalize-package-data": "6.0.2", - "open": "10.1.2", - "p-filter": "4.1.0", - "p-map": "7.0.3", - "p-wait-for": "5.0.2", - "parallel-transform": "1.2.0", - "parse-github-url": "1.0.3", - "parse-gitignore": "2.0.0", - "prettyjson": "1.2.5", - "raw-body": "3.0.0", - "read-package-up": "11.0.0", - "readdirp": "4.1.2", - "semver": "7.7.1", - "source-map-support": "0.5.21", - "terminal-link": "4.0.0", - "toml": "3.0.0", - "tomlify-j0.4": "3.0.0", - "ulid": "3.0.0", - "update-notifier": "7.3.1", - "uuid": "11.1.0", - "wait-port": "1.1.0", - "write-file-atomic": "5.0.1", - "ws": "8.18.2" - }, - "bin": { - "netlify": "bin/run.js", - "ntl": "bin/run.js" - }, - "engines": { - "node": ">=20.12.2" - } - }, - "node_modules/netlify-cli/node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/parser": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", - "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", - "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/browser": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-8.2.0.tgz", - "integrity": "sha512-C4BfE3eVsjOAqoXbdrPXfKbgp/hz2H7mKBU0p11Jf9uz+5gUCfZK+39JLrQKvRXwqoDcTlBSfz9Xz5kXLyHg2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/core": "^8.2.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/core": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-8.2.0.tgz", - "integrity": "sha512-dFSs80ZwJ508nlC6UTLTUMdHgTaHY5UKvMiuHqstCQrQrOjqFcIv+x4o+l2WrSyOpoYhHAxDlKfzKN8AjwslQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/cuid": "^3.0.0", - "@bugsnag/safe-json-stringify": "^6.0.0", - "error-stack-parser": "^2.0.3", - "iserror": "^0.0.2", - "stack-generator": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/cuid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/cuid/-/cuid-3.1.1.tgz", - "integrity": "sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@bugsnag/js": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-8.2.0.tgz", - "integrity": "sha512-DTtQwV1Ly5VXSOnVtzW8gSwB+ld3qIc/h0yMS836DEYUfA3V9JPwJE3+2EbD8Ea2ogkDWZ+a0jl0SNSNGiOmfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/browser": "^8.2.0", - "@bugsnag/node": "^8.2.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/node": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-8.2.0.tgz", - "integrity": "sha512-6XC/KgX61m6YFgsBQP/GaH1UzlJkJmpi3AwlZQLsXloRh3O9lM/0EIk6+2sZm+vlz+GwxCFavcuIDgVmH/qi7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/core": "^8.2.0", - "byline": "^5.0.0", - "error-stack-parser": "^2.0.3", - "iserror": "^0.0.2", - "pump": "^3.0.0", - "stack-generator": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/safe-json-stringify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", - "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==", - "dev": true - }, - "node_modules/netlify-cli/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, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/netlify-cli/node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@dabh/diagnostics": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", - "dev": true, - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@dependents/detective-less": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", - "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@envelop/instrumentation": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", - "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", - "dev": true, - "dependencies": { - "@whatwg-node/promise-helpers": "^1.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@envelop/instrumentation/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", - "cpu": [ - "arm64" - ], + "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, @@ -35084,13 +32867,6 @@ "node": ">= 0.4.0" } }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true, - "license": "MIT" - }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -35123,6 +32899,7 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -35139,6 +32916,7 @@ "dev": true, "license": "ISC", "optional": true, + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -35195,36 +32973,6 @@ "node": ">=10" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "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/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -37966,9 +35714,9 @@ "license": "ISC" }, "node_modules/nwsapi": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", - "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", "dev": true, "license": "MIT" }, @@ -38127,61 +35875,6 @@ "node": ">=10" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -38205,19 +35898,6 @@ "node": ">= 0.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.assign": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", @@ -38273,19 +35953,6 @@ "node": ">= 0.4" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.values": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", @@ -38448,29 +36115,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -38598,6 +36242,13 @@ "node": ">= 14" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -38659,18 +36310,31 @@ } }, "node_modules/parse5": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.0.tgz", - "integrity": "sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.5.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/pascal-case": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", @@ -38682,16 +36346,6 @@ "tslib": "^2.0.3" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -38743,6 +36397,30 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/path-to-regexp": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", @@ -38805,9 +36483,9 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "license": "MIT", "engines": { @@ -38892,19 +36570,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pkg-types": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", @@ -38975,16 +36640,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -39112,33 +36767,6 @@ "node": ">= 6" } }, - "node_modules/protobufjs": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", - "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", - "dev": true, - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, "node_modules/proxy-agent": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", @@ -39482,60 +37110,6 @@ "dev": true, "license": "MIT" }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "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", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "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/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, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -39564,6 +37138,14 @@ "node": ">=8.10.0" } }, + "node_modules/reflect-metadata": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", + "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", + "deprecated": "This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -39617,20 +37199,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -39724,33 +37292,6 @@ "node": ">= 0.10" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "license": "ISC" - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -39771,13 +37312,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true, - "license": "ISC" - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -39861,14 +37395,6 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true, - "license": "MIT" - }, "node_modules/resolve.exports": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", @@ -39893,16 +37419,6 @@ "node": ">=8" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -39921,23 +37437,6 @@ "dev": true, "license": "MIT" }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "2.79.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", @@ -39962,16 +37461,6 @@ "dev": true, "license": "MIT" }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "6.* || >= 7.*" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -39997,9 +37486,9 @@ } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -40013,34 +37502,417 @@ "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/sdp-transform": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.2.tgz", + "integrity": "sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==", + "license": "MIT", + "bin": { + "sdp-verify": "checker.js" + } + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/semantic-sdp": { + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/semantic-sdp/-/semantic-sdp-3.31.1.tgz", + "integrity": "sha512-esBGP11uWeHyvGwqDT1sf1p45H+kb7m5D49TIBHwYXXepzDFD24ar91eIwBQ8kwWWO8MNZfizsZ7CvBgYV9GuA==", + "license": "MIT", + "dependencies": { + "equals-ignore-case": "^1.0.0", + "randombytes": "^2.0.3", + "sdp-transform": "^2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT" + }, + "node_modules/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, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", + "integrity": "sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.6", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/showdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz", + "integrity": "sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^9.0.0" + }, + "bin": { + "showdown": "bin/showdown.js" + }, + "funding": { + "type": "individual", + "url": "https://www.paypal.me/tiviesantos" + } + }, + "node_modules/showdown/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": ">=0.4" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/safe-push-apply": { + "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "isarray": "^2.0.5" + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" @@ -40049,26 +37921,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.2.1" + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" @@ -40077,708 +37940,585 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sane/node_modules/anymatch": { + "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true, - "license": "ISC", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } + "license": "ISC" }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/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, - "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" - } + "license": "ISC" }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "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" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=4.8" + "node": ">=10" } }, - "node_modules/sane/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", "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" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" } }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sane/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/sane/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/socks": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", + "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "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" - }, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/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==", + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/sane/node_modules/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==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/sane/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true }, - "node_modules/sane/node_modules/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==", + "node_modules/spawnd": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-11.0.0.tgz", + "integrity": "sha512-brBHv9HYi8lwNvbI7X52NDZe4yAdsQwvr81b/r98LaN82LzeEnQ0L6YXBvG25zhgWRadTwB+4GsUu9NrNQcVzw==", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "signal-exit": "^4.1.0", + "tree-kill": "^1.2.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/spawnd/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "node": ">=14" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sane/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } + "license": "BSD-3-Clause" }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=v12.22.7" + "node": ">=10" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/sdp-transform": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.2.tgz", - "integrity": "sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==", - "license": "MIT", - "bin": { - "sdp-verify": "checker.js" + "node": ">=8" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, "license": "MIT" }, - "node_modules/semantic-sdp": { - "version": "3.31.1", - "resolved": "https://registry.npmjs.org/semantic-sdp/-/semantic-sdp-3.31.1.tgz", - "integrity": "sha512-esBGP11uWeHyvGwqDT1sf1p45H+kb7m5D49TIBHwYXXepzDFD24ar91eIwBQ8kwWWO8MNZfizsZ7CvBgYV9GuA==", - "license": "MIT", - "dependencies": { - "equals-ignore-case": "^1.0.0", - "randombytes": "^2.0.3", - "sdp-transform": "^2" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, - "node_modules/semver-regex": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", - "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, "dependencies": { - "randombytes": "^2.1.0" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/serve": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", - "integrity": "sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==", + "node_modules/streamx": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", + "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", "dev": true, "license": "MIT", "dependencies": { - "@zeit/schemas": "2.36.0", - "ajv": "8.12.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.6", - "update-check": "1.5.4" - }, - "bin": { - "serve": "build/main.js" + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" }, - "engines": { - "node": ">= 14" + "optionalDependencies": { + "bare-events": "^2.2.0" } }, - "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=0.6.19" } }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "license": "MIT", "dependencies": { - "mime-db": "~1.33.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/serve/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", - "dev": true, - "license": "MIT", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/serve/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" + "node": ">=8" + } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "ISC" + "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/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/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/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/shebang-command": { + "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", "dev": true, "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, - "license": "MIT", - "optional": true + "license": "MIT" }, - "node_modules/showdown": { + "node_modules/strong-log-transformer": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz", - "integrity": "sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "commander": "^9.0.0" + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" }, "bin": { - "showdown": "bin/showdown.js" + "sl-log-transformer": "bin/sl-log-transformer.js" }, - "funding": { - "type": "individual", - "url": "https://www.paypal.me/tiviesantos" + "engines": { + "node": ">=4" } }, - "node_modules/showdown/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=4" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, "engines": { "node": ">= 0.4" }, @@ -40786,691 +38526,735 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "node_modules/swc-loader": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.1.15.tgz", + "integrity": "sha512-cn1WPIeQJvXM4bbo3OwdEIapsQ4uUGOfyFj0h2+2+brT0k76DCGnZXDE2KmcqTd2JSQ+b61z2NPMib7eEwMYYw==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" + "loader-utils": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@swc/core": "^1.2.52", + "webpack": ">=2" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", + "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" + "@pkgr/core": "^0.2.4" }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/synckit" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "node_modules/tar-fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", + "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/terser": { + "version": "5.34.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", + "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", "dev": true, - "license": "ISC", + "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": { - "semver": "bin/semver.js" + "terser": "bin/terser" }, "engines": { "node": ">=10" } }, - "node_modules/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "node_modules/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==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" + "@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" }, "engines": { - "node": ">=18" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "license": "MIT", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "readable-stream": "3" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/tiny-typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", + "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^3.2.0" + "fdir": "^6.4.4", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "dev": true, "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "node_modules/tinyspy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "dev": true, "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=14.0.0" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=14.14" } }, - "node_modules/socks": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", - "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } + "license": "BSD-3-Clause" }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 14" + "node": ">=8.0" } }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14" + "node": ">=6" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "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": ">=0.10.0" + "node": ">=6" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "license": "MIT", - "dependencies": { - "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" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true, - "license": "MIT" - }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true - }, - "node_modules/spawnd": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-9.0.2.tgz", - "integrity": "sha512-nl8DVHEDQ57IcKakzpjanspVChkMpGLuVwMR/eOn9cXE55Qr6luD2Kn06sA0ootRMdgrU4tInN6lA6ohTNvysw==", - "dev": true, - "dependencies": { - "signal-exit": "^4.1.0", - "tree-kill": "^1.2.2" + "punycode": "^2.3.0" }, - "engines": { - "node": ">=16" - } - }, - "node_modules/spawnd/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", "engines": { "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", + "node_modules/transaction-manager": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/transaction-manager/-/transaction-manager-2.1.7.tgz", + "integrity": "sha512-0b52KTocdpYRm51feDXsj+NAJseFNot/LFVK7bJymRpebAlsUZi3G+H9iMSzmqQeQmFMVhGzu4gOzyT/N4jo9Q==", + "license": "MIT", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "tiny-typed-emitter": "2.1.0" } }, - "node_modules/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, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/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, "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/ts-declaration-location": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", + "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "ko-fi", + "url": "https://ko-fi.com/rebeccastevens" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/ts-declaration-location" + } + ], + "license": "BSD-3-Clause", "dependencies": { - "escape-string-regexp": "^2.0.0" + "picomatch": "^4.0.2" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "typescript": ">=4.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/ts-declaration-location/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/ts-jest": { + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", + "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", "dev": true, "license": "MIT", "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.6.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/ts-jest/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, "license": "MIT" }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/streamx": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", - "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" + "engines": { + "node": ">=4" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/tslib": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.6.19" + "node": ">=4" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -41479,17 +39263,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { + "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -41498,16 +39285,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -41516,171 +39306,139 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "node_modules/typed-query-selector": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", + "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", "dev": true, - "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" - } + "license": "MIT" }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/typedoc": { + "version": "0.28.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.5.tgz", + "integrity": "sha512-5PzUddaA9FbaarUzIsEc4wNXCiO4Ot3bJNeMF2qKpYlTmM9TTaSHQ7162w756ERCkXER/+o2purRG6YOAv6EMA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "@gerrit0/mini-shiki": "^3.2.2", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.7.1" + }, + "bin": { + "typedoc": "bin/typedoc" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": ">= 18", + "pnpm": ">= 10" + }, + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/typedoc-plugin-mdn-links": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-5.0.2.tgz", + "integrity": "sha512-Bd3lsVWPSpDkn6NGZyPHpcK088PUvH4SRq4RD97OjA6l8PQA3yOnJhGACtjmIDdcenRTgWUosH+55ANZhx/wkw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "peerDependencies": { + "typedoc": "0.27.x || 0.28.x" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/strip-literal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", - "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "js-tokens": "^9.0.1" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/antfu" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4" + "node": ">=14.17" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "node_modules/ua-parser-js": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" + "bin": { + "ua-parser-js": "script/cli.js" }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -41688,546 +39446,504 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/swc-loader": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.1.15.tgz", - "integrity": "sha512-cn1WPIeQJvXM4bbo3OwdEIapsQ4uUGOfyFj0h2+2+brT0k76DCGnZXDE2KmcqTd2JSQ+b61z2NPMib7eEwMYYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0" - }, - "peerDependencies": { - "@swc/core": "^1.2.52", - "webpack": ">=2" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true, "license": "MIT" }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/tar-fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", - "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - }, - "optionalDependencies": { - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0" - } + "license": "MIT" }, - "node_modules/tar-fs/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "engines": { + "node": ">=4" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/terser": { - "version": "5.34.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", - "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "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" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/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/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", "dev": true, - "license": "MIT", - "peer": true, "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "qs": "^6.4.0" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">= 10.0.0" } }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "napi-postinstall": "^0.3.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "3" + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" } }, - "node_modules/tiny-typed-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", - "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "node_modules/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, "license": "MIT" }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "optional": true, + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } + "license": "MIT" }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=10.12.0" } }, - "node_modules/tinyspy": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", - "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.14" + "node": ">= 0.8" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/vite-plugin-dts": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", + "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", "dev": true, "license": "MIT", "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "@microsoft/api-extractor": "^7.50.1", + "@rollup/pluginutils": "^5.1.4", + "@volar/typescript": "^2.4.11", + "@vue/language-core": "2.2.0", + "compare-versions": "^6.1.1", + "debug": "^4.4.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "typescript": "*", + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/vite-plugin-dts/node_modules/@rollup/pluginutils": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=8.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "node_modules/vite-plugin-dts/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "node_modules/vite-plugin-dts/node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", "dev": true, - "license": "ISC", - "bin": { - "nodetouch": "bin/nodetouch.js" - } + "license": "MIT" }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "node_modules/vite-plugin-dts/node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT" + }, + "node_modules/vite-plugin-dts/node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" }, "engines": { - "node": ">=6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "node_modules/vite-plugin-dts/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "node_modules/vite-plugin-dts/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "dependencies": { - "punycode": "^2.3.0" - }, "engines": { - "node": ">=14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/transaction-manager": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/transaction-manager/-/transaction-manager-2.1.7.tgz", - "integrity": "sha512-0b52KTocdpYRm51feDXsj+NAJseFNot/LFVK7bJymRpebAlsUZi3G+H9iMSzmqQeQmFMVhGzu4gOzyT/N4jo9Q==", + "node_modules/vite-plugin-dts/node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "dev": true, "license": "MIT", "dependencies": { - "tiny-typed-emitter": "2.1.0" + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" } }, - "node_modules/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==", + "node_modules/vite/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } + "license": "MIT" }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "node_modules/vite/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12" - }, "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-declaration-location": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", - "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", - "dev": true, - "funding": [ - { - "type": "ko-fi", - "url": "https://ko-fi.com/rebeccastevens" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/ts-declaration-location" - } - ], - "license": "BSD-3-Clause", - "dependencies": { - "picomatch": "^4.0.2" + "picomatch": "^3 || ^4" }, - "peerDependencies": { - "typescript": ">=4.0.0" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/ts-declaration-location/node_modules/picomatch": { + "node_modules/vite/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", @@ -42240,1830 +39956,2093 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/ts-jest": { - "version": "29.2.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", - "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", + "node_modules/vite/node_modules/rollup": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", + "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", "dev": true, "license": "MIT", "dependencies": { - "bs-logger": "^0.2.6", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "^2.1.0", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.6.3", - "yargs-parser": "^21.1.1" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.44.2", + "@rollup/rollup-android-arm64": "4.44.2", + "@rollup/rollup-darwin-arm64": "4.44.2", + "@rollup/rollup-darwin-x64": "4.44.2", + "@rollup/rollup-freebsd-arm64": "4.44.2", + "@rollup/rollup-freebsd-x64": "4.44.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", + "@rollup/rollup-linux-arm-musleabihf": "4.44.2", + "@rollup/rollup-linux-arm64-gnu": "4.44.2", + "@rollup/rollup-linux-arm64-musl": "4.44.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-musl": "4.44.2", + "@rollup/rollup-linux-s390x-gnu": "4.44.2", + "@rollup/rollup-linux-x64-gnu": "4.44.2", + "@rollup/rollup-linux-x64-musl": "4.44.2", + "@rollup/rollup-win32-arm64-msvc": "4.44.2", + "@rollup/rollup-win32-ia32-msvc": "4.44.2", + "@rollup/rollup-win32-x64-msvc": "4.44.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" }, "bin": { - "ts-jest": "cli.js" + "vitest": "vitest.mjs" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" }, "peerDependenciesMeta": { - "@babel/core": { + "@edge-runtime/vm": { "optional": true }, - "@jest/transform": { + "@types/debug": { "optional": true }, - "@jest/types": { + "@types/node": { "optional": true }, - "babel-jest": { + "@vitest/browser": { "optional": true }, - "esbuild": { + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { "optional": true } } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/vitest/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "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" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "funding": { + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { - "@swc/core": { + "msw": { "optional": true }, - "@swc/wasm": { + "vite": { "optional": true } } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/vitest/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", - "license": "0BSD" + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/wait-on": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.3.tgz", + "integrity": "sha512-nQFqAFzZDeRxsu7S3C7LbuxslHhk+gnJZHyethuGKAn2IVleIbTB9I3vJSQiSR+DifUqmdzfPMoMPJfLqMF2vw==", "dev": true, "license": "MIT", + "dependencies": { + "axios": "^1.8.2", + "joi": "^17.13.3", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, "engines": { - "node": ">=4" + "node": ">=12.0.0" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">= 0.4" + "node": ">=10.13.0" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "defaults": "^1.0.3" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "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.11", + "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.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">= 0.4" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/typed-query-selector": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", - "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/webpack/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } + "peer": true }, - "node_modules/typedoc": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.5.tgz", - "integrity": "sha512-5PzUddaA9FbaarUzIsEc4wNXCiO4Ot3bJNeMF2qKpYlTmM9TTaSHQ7162w756ERCkXER/+o2purRG6YOAv6EMA==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@gerrit0/mini-shiki": "^3.2.2", - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.7.1" - }, - "bin": { - "typedoc": "bin/typedoc" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 18", - "pnpm": ">= 10" - }, - "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + "node": ">=8.0.0" } }, - "node_modules/typedoc-plugin-mdn-links": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-5.0.2.tgz", - "integrity": "sha512-Bd3lsVWPSpDkn6NGZyPHpcK088PUvH4SRq4RD97OjA6l8PQA3yOnJhGACtjmIDdcenRTgWUosH+55ANZhx/wkw==", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "typedoc": "0.27.x || 0.28.x" + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" } }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" } }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=14.17" + "node": ">=14" } }, - "node_modules/ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, "bin": { - "ua-parser-js": "script/cli.js" + "node-which": "bin/node-which" }, "engines": { - "node": "*" + "node": ">= 8" } }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/ufo": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", - "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true, - "license": "MIT" - }, - "node_modules/underscore": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", - "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "license": "MIT", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { - "qs": "^6.4.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "string-width": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "isarray": "1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "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, - "license": "MIT" + "license": "ISC" }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "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", + "license": "ISC", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" + "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/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "license": "Apache-2.0", + "engines": { + "node": ">=12" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/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==", + "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, "license": "MIT" }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } + "license": "Apache-2.0", + "peer": true }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, - "license": "MIT", + "license": "ISC", "bin": { - "uuid": "dist/bin/uuid" + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, "engines": { - "node": ">=10.12.0" + "node": ">=12" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "packages/millicast-chromecast-receiver": {}, + "packages/millicast-multiview-demo": {}, + "packages/millicast-publisher-demo": {}, + "packages/millicast-sdk": { + "name": "@millicast/sdk", + "version": "1.0.0", + "license": "See in LICENSE file", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "@dolbyio/webrtc-stats": "^1.0.4", + "buffer": "^6.0.3", + "events": "^3.3.0", + "js-base64": "^3.7.7", + "js-logger": "^1.6.1", + "jwt-decode": "^3.1.2", + "re-emitter": "^1.1.4", + "semantic-sdp": "^3.22.0", + "transaction-manager": "^2.1.3", + "tslib": "^2.7.0", + "ua-parser-js": "^1.0.38" }, - "bin": { - "vite": "bin/vite.js" + "devDependencies": { + "jest": "^30.0.4", + "jest-cucumber": "^4.5.0", + "jest-environment-jsdom": "^30.0.4", + "jest-environment-node": "^30.0.4", + "jest-puppeteer": "^11.0.0", + "jest-websocket-mock": "^2.5.0", + "npm-watch": "^0.13.0" + } + }, + "packages/millicast-sdk/node_modules/@jest/console": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.4.tgz", + "integrity": "sha512-tMLCDvBJBwPqMm4OAiuKm2uF5y5Qe26KgcMn+nrDSWpEW+eeFmqA0iO4zJfL16GP7gE3bUUQ3hIuUJ22AqVRnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.0.2", + "jest-util": "30.0.2", + "slash": "^3.0.0" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "packages/millicast-sdk/node_modules/@jest/core": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.4.tgz", + "integrity": "sha512-MWScSO9GuU5/HoWjpXAOBs6F/iobvK1XlioelgOM9St7S0Z5WTI9kjCQLPeo4eQRRYusyLW25/J7J5lbFkrYXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.0.4", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.0.4", + "@jest/test-result": "30.0.4", + "@jest/transform": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.0.2", + "jest-config": "30.0.4", + "jest-haste-map": "30.0.2", + "jest-message-util": "30.0.2", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.2", + "jest-resolve-dependencies": "30.0.4", + "jest-runner": "30.0.4", + "jest-runtime": "30.0.4", + "jest-snapshot": "30.0.4", + "jest-util": "30.0.2", + "jest-validate": "30.0.2", + "jest-watcher": "30.0.4", + "micromatch": "^4.0.8", + "pretty-format": "30.0.2", + "slash": "^3.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { + "peerDependenciesMeta": { + "node-notifier": { "optional": true } } }, - "node_modules/vite-node": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "packages/millicast-sdk/node_modules/@jest/environment": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", + "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", "dev": true, "license": "MIT", "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.1", - "es-module-lexer": "^1.7.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + "@jest/fake-timers": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-mock": "30.0.2" }, - "bin": { - "vite-node": "vite-node.mjs" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "packages/millicast-sdk/node_modules/@jest/expect": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.4.tgz", + "integrity": "sha512-Z/DL7t67LBHSX4UzDyeYKqOxE/n7lbrrgEwWM3dGiH5Dgn35nk+YtgzKudmfIrBI8DRRrKYY5BCo3317HZV1Fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.0.4", + "jest-snapshot": "30.0.4" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "packages/millicast-sdk/node_modules/@jest/expect-utils": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.4.tgz", + "integrity": "sha512-EgXecHDNfANeqOkcak0DxsoVI4qkDUsR7n/Lr2vtmTBjwLPBnnPOF71S11Q8IObWzxm2QgQoY6f9hzrRD3gHRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.1" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite-plugin-dts": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", - "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", + "packages/millicast-sdk/node_modules/@jest/fake-timers": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", + "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor": "^7.50.1", - "@rollup/pluginutils": "^5.1.4", - "@volar/typescript": "^2.4.11", - "@vue/language-core": "2.2.0", - "compare-versions": "^6.1.1", - "debug": "^4.4.0", - "kolorist": "^1.8.0", - "local-pkg": "^1.0.0", - "magic-string": "^0.30.17" + "@jest/types": "30.0.1", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.2", + "jest-mock": "30.0.2", + "jest-util": "30.0.2" }, - "peerDependencies": { - "typescript": "*", - "vite": "*" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "packages/millicast-sdk/node_modules/@jest/globals": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.4.tgz", + "integrity": "sha512-avyZuxEHF2EUhFF6NEWVdxkRRV6iXXcIES66DLhuLlU7lXhtFG/ySq/a8SRZmEJSsLkNAFX6z6mm8KWyXe9OEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.4", + "@jest/expect": "30.0.4", + "@jest/types": "30.0.1", + "jest-mock": "30.0.2" }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite-plugin-dts/node_modules/@rollup/pluginutils": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", - "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", + "packages/millicast-sdk/node_modules/@jest/reporters": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.4.tgz", + "integrity": "sha512-6ycNmP0JSJEEys1FbIzHtjl9BP0tOZ/KN6iMeAKrdvGmUsa1qfRdlQRUDKJ4P84hJ3xHw1yTqJt4fvPNHhyE+g==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.0.4", + "@jest/test-result": "30.0.4", + "@jest/transform": "30.0.4", + "@jest/types": "30.0.1", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.0.2", + "jest-util": "30.0.2", + "jest-worker": "30.0.2", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=14.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "rollup": { + "node-notifier": { "optional": true } } }, - "node_modules/vite-plugin-dts/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite-plugin-dts/node_modules/compare-versions": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", - "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "packages/millicast-sdk/node_modules/@jest/schemas": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", + "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/vite-plugin-dts/node_modules/confbox": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", - "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "packages/millicast-sdk/node_modules/@jest/source-map": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/vite-plugin-dts/node_modules/local-pkg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", - "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "packages/millicast-sdk/node_modules/@jest/test-result": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.4.tgz", + "integrity": "sha512-Mfpv8kjyKTHqsuu9YugB6z1gcdB3TSSOaKlehtVaiNlClMkEHY+5ZqCY2CrEE3ntpBMlstX/ShDAf84HKWsyIw==", "dev": true, "license": "MIT", "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.0.1", - "quansync": "^0.2.8" + "@jest/console": "30.0.4", + "@jest/types": "30.0.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite-plugin-dts/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "packages/millicast-sdk/node_modules/@jest/test-sequencer": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.4.tgz", + "integrity": "sha512-bj6ePmqi4uxAE8EHE0Slmk5uBYd9Vd/PcVt06CsBxzH4bbA8nGsI1YbXl/NH+eii4XRtyrRx+Cikub0x8H4vDg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jest/test-result": "30.0.4", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite-plugin-dts/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "packages/millicast-sdk/node_modules/@jest/transform": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.4.tgz", + "integrity": "sha512-atvy4hRph/UxdCIBp+UB2jhEA/jJiUeGZ7QPgBi9jUUKNgi3WEoMXGNG7zbbELG2+88PMabUNCDchmqgJy3ELg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.0.1", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.0", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.2", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.2", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite-plugin-dts/node_modules/pkg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", - "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "packages/millicast-sdk/node_modules/@jest/types": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", + "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", "dev": true, "license": "MIT", "dependencies": { - "confbox": "^0.2.2", - "exsolve": "^1.0.7", - "pathe": "^2.0.3" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/vite/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "packages/millicast-sdk/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "packages/millicast-sdk/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "packages/millicast-sdk/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/vite/node_modules/rollup": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", - "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", + "packages/millicast-sdk/node_modules/babel-jest": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.4.tgz", + "integrity": "sha512-UjG2j7sAOqsp2Xua1mS/e+ekddkSu3wpf4nZUSvXNHuVWdaOUXQ77+uyjJLDE9i0atm5x4kds8K9yb5lRsRtcA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" + "@jest/transform": "30.0.4", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.0", + "babel-preset-jest": "30.0.1", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.2", - "@rollup/rollup-android-arm64": "4.44.2", - "@rollup/rollup-darwin-arm64": "4.44.2", - "@rollup/rollup-darwin-x64": "4.44.2", - "@rollup/rollup-freebsd-arm64": "4.44.2", - "@rollup/rollup-freebsd-x64": "4.44.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", - "@rollup/rollup-linux-arm-musleabihf": "4.44.2", - "@rollup/rollup-linux-arm64-gnu": "4.44.2", - "@rollup/rollup-linux-arm64-musl": "4.44.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-musl": "4.44.2", - "@rollup/rollup-linux-s390x-gnu": "4.44.2", - "@rollup/rollup-linux-x64-gnu": "4.44.2", - "@rollup/rollup-linux-x64-musl": "4.44.2", - "@rollup/rollup-win32-arm64-msvc": "4.44.2", - "@rollup/rollup-win32-ia32-msvc": "4.44.2", - "@rollup/rollup-win32-x64-msvc": "4.44.2", - "fsevents": "~2.3.2" + "peerDependencies": { + "@babel/core": "^7.11.0" } }, - "node_modules/vitest": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "packages/millicast-sdk/node_modules/babel-plugin-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", + "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", - "@vitest/pretty-format": "^3.2.4", - "@vitest/runner": "3.2.4", - "@vitest/snapshot": "3.2.4", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "debug": "^4.4.1", - "expect-type": "^1.2.1", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tinypool": "^1.1.1", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.4", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.4", - "@vitest/ui": "3.2.4", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vitest/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "packages/millicast-sdk/node_modules/babel-plugin-jest-hoist": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz", + "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/vitest/node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "packages/millicast-sdk/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, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "engines": { + "node": ">=10", + "npm": ">=6" } }, - "node_modules/vitest/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "packages/millicast-sdk/node_modules/babel-preset-jest": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz", + "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0" + "babel-plugin-jest-hoist": "30.0.1", + "babel-preset-current-node-syntax": "^1.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0" } }, - "node_modules/vitest/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "packages/millicast-sdk/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "balanced-match": "^1.0.0" } }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "packages/millicast-sdk/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "packages/millicast-sdk/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/millicast-sdk/node_modules/cjs-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", + "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==", "dev": true, "license": "MIT" }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "packages/millicast-sdk/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "browser-process-hrtime": "^1.0.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" } }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "packages/millicast-sdk/node_modules/dedent": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", + "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", "dev": true, "license": "MIT", - "dependencies": { - "xml-name-validator": "^4.0.0" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "engines": { - "node": ">=14" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "packages/millicast-sdk/node_modules/expect": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.4.tgz", + "integrity": "sha512-dDLGjnP2cKbEppxVICxI/Uf4YemmGMPNy0QytCbfafbpYk9AFQsxb8Uyrxii0RPK7FWgLGlSem+07WirwS3cFQ==", "dev": true, "license": "MIT", "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" + "@jest/expect-utils": "30.0.4", + "@jest/get-type": "30.0.1", + "jest-matcher-utils": "30.0.4", + "jest-message-util": "30.0.2", + "jest-mock": "30.0.2", + "jest-util": "30.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "packages/millicast-sdk/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "makeerror": "1.0.12" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "packages/millicast-sdk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "packages/millicast-sdk/node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "license": "BSD-2-Clause", + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "packages/millicast-sdk/node_modules/jest": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.4.tgz", + "integrity": "sha512-9QE0RS4WwTj/TtTC4h/eFVmFAhGNVerSB9XpJh8sqaXlP73ILcPcZ7JWjjEtJJe2m8QyBLKKfPQuK+3F+Xij/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "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.11", - "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.1", - "webpack-sources": "^3.2.3" + "@jest/core": "30.0.4", + "@jest/types": "30.0.1", + "import-local": "^3.2.0", + "jest-cli": "30.0.4" }, "bin": { - "webpack": "bin/webpack.js" + "jest": "bin/jest.js" }, "engines": { - "node": ">=10.13.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "webpack-cli": { + "node-notifier": { "optional": true } } }, - "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==", + "packages/millicast-sdk/node_modules/jest-changed-files": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.2.tgz", + "integrity": "sha512-Ius/iRST9FKfJI+I+kpiDh8JuUlAISnRszF9ixZDIqJF17FckH5sOzKC8a0wd0+D+8em5ADRHA5V5MnfeDk2WA==", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.0.2", + "p-limit": "^3.1.0" + }, "engines": { - "node": ">=10.13.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "packages/millicast-sdk/node_modules/jest-circus": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.4.tgz", + "integrity": "sha512-o6UNVfbXbmzjYgmVPtSQrr5xFZCtkDZGdTlptYvGFSN80RuOOlTe73djvMrs+QAuSERZWcHBNIOMH+OEqvjWuw==", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@jest/environment": "30.0.4", + "@jest/expect": "30.0.4", + "@jest/test-result": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.0.2", + "jest-matcher-utils": "30.0.4", + "jest-message-util": "30.0.2", + "jest-runtime": "30.0.4", + "jest-snapshot": "30.0.4", + "jest-util": "30.0.2", + "p-limit": "^3.1.0", + "pretty-format": "30.0.2", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">=8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "packages/millicast-sdk/node_modules/jest-cli": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.4.tgz", + "integrity": "sha512-3dOrP3zqCWBkjoVG1zjYJpD9143N9GUCbwaF2pFF5brnIgRLHmKcCIw+83BvF1LxggfMWBA0gxkn6RuQVuRhIQ==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.0.4", + "@jest/test-result": "30.0.4", + "@jest/types": "30.0.1", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.0.4", + "jest-util": "30.0.2", + "jest-validate": "30.0.2", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">=4.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "packages/millicast-sdk/node_modules/jest-config": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.4.tgz", + "integrity": "sha512-3dzbO6sh34thAGEjJIW0fgT0GA0EVlkski6ZzMcbW6dzhenylXAE/Mj2MI4HonroWbkKc6wU6bLVQ8dvBSZ9lA==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "0.6.3" + "@babel/core": "^7.27.4", + "@jest/get-type": "30.0.1", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.0.4", + "@jest/types": "30.0.1", + "babel-jest": "30.0.4", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.0.4", + "jest-docblock": "30.0.1", + "jest-environment-node": "30.0.4", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.2", + "jest-runner": "30.0.4", + "jest-util": "30.0.2", + "jest-validate": "30.0.2", + "micromatch": "^4.0.8", + "parse-json": "^5.2.0", + "pretty-format": "30.0.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=12" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "packages/millicast-sdk/node_modules/jest-diff": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.4.tgz", + "integrity": "sha512-TSjceIf6797jyd+R64NXqicttROD+Qf98fex7CowmlSn7f8+En0da1Dglwr1AXxDtVizoxXYZBlUQwNhoOXkNw==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "pretty-format": "30.0.2" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "packages/millicast-sdk/node_modules/jest-docblock": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz", + "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==", "dev": true, "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, "engines": { - "node": ">=12" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/whatwg-url": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", - "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "packages/millicast-sdk/node_modules/jest-each": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.2.tgz", + "integrity": "sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" + "@jest/get-type": "30.0.1", + "@jest/types": "30.0.1", + "chalk": "^4.1.2", + "jest-util": "30.0.2", + "pretty-format": "30.0.2" }, "engines": { - "node": ">=14" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "packages/millicast-sdk/node_modules/jest-environment-node": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.4.tgz", + "integrity": "sha512-p+rLEzC2eThXqiNh9GHHTC0OW5Ca4ZfcURp7scPjYBcmgpR9HG6750716GuUipYf2AcThU3k20B31USuiaaIEg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "@jest/environment": "30.0.4", + "@jest/fake-timers": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-mock": "30.0.2", + "jest-util": "30.0.2", + "jest-validate": "30.0.2" }, "engines": { - "node": ">= 8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "packages/millicast-sdk/node_modules/jest-haste-map": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.2.tgz", + "integrity": "sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" + "@jest/types": "30.0.1", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.2", + "jest-worker": "30.0.2", + "micromatch": "^4.0.8", + "walker": "^1.0.8" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.3.3" } }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "packages/millicast-sdk/node_modules/jest-leak-detector": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.2.tgz", + "integrity": "sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" + "@jest/get-type": "30.0.1", + "pretty-format": "30.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "packages/millicast-sdk/node_modules/jest-matcher-utils": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.4.tgz", + "integrity": "sha512-ubCewJ54YzeAZ2JeHHGVoU+eDIpQFsfPQs0xURPWoNiO42LGJ+QGgfSf+hFIRplkZDkhH5MOvuxHKXRTUU3dUQ==", "dev": true, "license": "MIT", "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "jest-diff": "30.0.4", + "pretty-format": "30.0.2" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "packages/millicast-sdk/node_modules/jest-message-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", + "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "packages/millicast-sdk/node_modules/jest-mock": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", + "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.1", + "@types/node": "*", + "jest-util": "30.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "packages/millicast-sdk/node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "packages/millicast-sdk/node_modules/jest-resolve": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.2.tgz", + "integrity": "sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw==", "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.2", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.0.2", + "jest-validate": "30.0.2", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "packages/millicast-sdk/node_modules/jest-resolve-dependencies": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.4.tgz", + "integrity": "sha512-EQBYow19B/hKr4gUTn+l8Z+YLlP2X0IoPyp0UydOtrcPbIOYzJ8LKdFd+yrbwztPQvmlBFUwGPPEzHH1bAvFAw==", "dev": true, "license": "MIT", "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.0.4" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "packages/millicast-sdk/node_modules/jest-runner": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.4.tgz", + "integrity": "sha512-mxY0vTAEsowJwvFJo5pVivbCpuu6dgdXRmt3v3MXjBxFly7/lTk3Td0PaMyGOeNQUFmSuGEsGYqhbn7PA9OekQ==", "dev": true, "license": "MIT", "dependencies": { - "string-width": "^5.0.1" + "@jest/console": "30.0.4", + "@jest/environment": "30.0.4", + "@jest/test-result": "30.0.4", + "@jest/transform": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.0.1", + "jest-environment-node": "30.0.4", + "jest-haste-map": "30.0.2", + "jest-leak-detector": "30.0.2", + "jest-message-util": "30.0.2", + "jest-resolve": "30.0.2", + "jest-runtime": "30.0.4", + "jest-util": "30.0.2", + "jest-watcher": "30.0.4", + "jest-worker": "30.0.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "packages/millicast-sdk/node_modules/jest-runtime": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.4.tgz", + "integrity": "sha512-tUQrZ8+IzoZYIHoPDQEB4jZoPyzBjLjq7sk0KVyd5UPRjRDOsN7o6UlvaGF8ddpGsjznl9PW+KRgWqCNO+Hn7w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@jest/environment": "30.0.4", + "@jest/fake-timers": "30.0.4", + "@jest/globals": "30.0.4", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.0.4", + "@jest/transform": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.2", + "jest-message-util": "30.0.2", + "jest-mock": "30.0.2", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.2", + "jest-snapshot": "30.0.4", + "jest-util": "30.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "packages/millicast-sdk/node_modules/jest-snapshot": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.4.tgz", + "integrity": "sha512-S/8hmSkeUib8WRUq9pWEb5zMfsOjiYWDWzFzKnjX7eDyKKgimsu9hcmsUEg8a7dPAw8s/FacxsXquq71pDgPjQ==", "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.0.4", + "@jest/get-type": "30.0.1", + "@jest/snapshot-utils": "30.0.4", + "@jest/transform": "30.0.4", + "@jest/types": "30.0.1", + "babel-preset-current-node-syntax": "^1.1.0", + "chalk": "^4.1.2", + "expect": "30.0.4", + "graceful-fs": "^4.2.11", + "jest-diff": "30.0.4", + "jest-matcher-utils": "30.0.4", + "jest-message-util": "30.0.2", + "jest-util": "30.0.2", + "pretty-format": "30.0.2", + "semver": "^7.7.2", + "synckit": "^0.11.8" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "packages/millicast-sdk/node_modules/jest-util": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", + "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@jest/types": "30.0.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "packages/millicast-sdk/node_modules/jest-validate": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.2.tgz", + "integrity": "sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.1", + "@jest/types": "30.0.1", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "packages/millicast-sdk/node_modules/jest-watcher": { + "version": "30.0.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.4.tgz", + "integrity": "sha512-YESbdHDs7aQOCSSKffG8jXqOKFqw4q4YqR+wHYpR5GWEQioGvL0BfbcjvKIvPEM0XGfsfJrka7jJz3Cc3gI4VQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@jest/test-result": "30.0.4", + "@jest/types": "30.0.1", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.0.2", + "string-length": "^4.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "packages/millicast-sdk/node_modules/jest-worker": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.2.tgz", + "integrity": "sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.0.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "packages/millicast-sdk/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "packages/millicast-sdk/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" + "dependencies": { + "yocto-queue": "^0.1.0" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "engines": { + "node": ">=10" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "packages/millicast-sdk/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "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, - "license": "MIT" - }, - "node_modules/xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "packages/millicast-sdk/node_modules/pretty-format": { + "version": "30.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", + "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.1", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "packages/millicast-sdk/node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", "dev": true, - "license": "ISC" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" }, - "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "packages/millicast-sdk/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "semver": "bin/semver.js" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "packages/millicast-sdk/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "packages/millicast-sdk/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "license": "MIT", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "packages/millicast-sdk/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "packages/millicast-sdk/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/millicast-chromecast-receiver": {}, - "packages/millicast-multiview-demo": {}, - "packages/millicast-publisher-demo": {}, - "packages/millicast-sdk": { - "name": "@millicast/sdk", - "version": "1.0.0", - "license": "See in LICENSE file", - "devDependencies": { - "jest": "^29.4.1", - "jest-cucumber": "^3.0.1", - "jest-environment-jsdom": "^29.7.0", - "jest-environment-node": "^29.4.1", - "jest-puppeteer": "^9.0.1", - "jest-websocket-mock": "^2.2.0", - "npm-watch": "^0.13.0" + "packages/millicast-sdk/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" } }, "packages/millicast-viewer-demo": {}, diff --git a/package.json b/package.json index 2560f0de..dd88718d 100644 --- a/package.json +++ b/package.json @@ -25,19 +25,6 @@ "test": "nx test @millicast/sdk", "test-e2e": "nx run-many --target=test-e2e --all --parallel --output-style=stream" }, - "dependencies": { - "@dolbyio/webrtc-stats": "^1.0.4", - "buffer": "^6.0.3", - "events": "^3.3.0", - "js-base64": "^3.7.7", - "js-logger": "^1.6.1", - "jwt-decode": "^3.1.2", - "re-emitter": "^1.1.4", - "semantic-sdp": "^3.22.0", - "transaction-manager": "^2.1.3", - "tslib": "^2.7.0", - "ua-parser-js": "^1.0.38" - }, "devDependencies": { "@babel/core": "^7.23.6", "@babel/helpers": "^7.13.10", diff --git a/packages/millicast-sdk/package.json b/packages/millicast-sdk/package.json index a0e314f5..3e0ed359 100644 --- a/packages/millicast-sdk/package.json +++ b/packages/millicast-sdk/package.json @@ -57,13 +57,26 @@ "type": "git", "url": "git+https://github.com/millicast/millicast-sdk.git" }, + "dependencies": { + "@dolbyio/webrtc-stats": "^1.0.4", + "buffer": "^6.0.3", + "events": "^3.3.0", + "js-base64": "^3.7.7", + "js-logger": "^1.6.1", + "jwt-decode": "^3.1.2", + "re-emitter": "^1.1.4", + "semantic-sdp": "^3.22.0", + "transaction-manager": "^2.1.3", + "tslib": "^2.7.0", + "ua-parser-js": "^1.0.38" + }, "devDependencies": { - "jest": "^29.4.1", - "jest-cucumber": "^3.0.1", - "jest-environment-jsdom": "^29.7.0", - "jest-environment-node": "^29.4.1", - "jest-puppeteer": "^9.0.1", - "jest-websocket-mock": "^2.2.0", + "jest": "^30.0.4", + "jest-cucumber": "^4.5.0", + "jest-environment-jsdom": "^30.0.4", + "jest-environment-node": "^30.0.4", + "jest-puppeteer": "^11.0.0", + "jest-websocket-mock": "^2.5.0", "npm-watch": "^0.13.0" } } From f6e568caeac076a4b52722a7c095b1c1cffb01a2 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Wed, 16 Jul 2025 17:04:42 -0700 Subject: [PATCH 15/22] Update eslint Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .github/workflows/check-tests.yml | 4 +- eslint.config.js | 85 ------------------- nx.json | 11 --- package-lock.json | 41 +++++++-- package.json | 15 +--- packages/millicast-sdk/.npmignore | 3 +- packages/millicast-sdk/eslint.config.js | 61 ------------- packages/millicast-sdk/eslint.config.mjs | 72 ++++++++++++++++ packages/millicast-sdk/jest_resolver.js | 1 + packages/millicast-sdk/jsdoc.json | 51 ----------- packages/millicast-sdk/package.json | 12 ++- packages/millicast-sdk/src/utils/Codecs.ts | 2 - .../src/workers/TransformWorker.worker.ts | 3 - 13 files changed, 124 insertions(+), 237 deletions(-) delete mode 100644 eslint.config.js delete mode 100644 packages/millicast-sdk/eslint.config.js create mode 100644 packages/millicast-sdk/eslint.config.mjs delete mode 100644 packages/millicast-sdk/jsdoc.json diff --git a/.github/workflows/check-tests.yml b/.github/workflows/check-tests.yml index b4381cf1..b1c0dd26 100644 --- a/.github/workflows/check-tests.yml +++ b/.github/workflows/check-tests.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v4 - name: Install the dependencies 🧱 run: npm ci - - name: Check Linter and Build 📑 + - name: Build and Check Linter 📑 run: | npm run build npm run lint @@ -54,5 +54,5 @@ jobs: - uses: actions/checkout@v4 - name: Install the dependencies 🧱 run: npm ci - - name: build docs + - name: Build documentation 📖 run: npm run build-docs \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 33b167b3..00000000 --- a/eslint.config.js +++ /dev/null @@ -1,85 +0,0 @@ -const nxPlugin = require("@nx/eslint-plugin"); -const tseslint = require("@typescript-eslint/eslint-plugin"); - -module.exports = [ - { - plugins: { - "@nx": nxPlugin, - '@typescript-eslint': tseslint, - } - }, - { - ignores: [ - ".vscode", - ".github", - "/**/*.d.ts", - "/**/node_modules/**", - "dist", - "coverage/**", - "docs", - "packages/millicast-publisher-demo", - "packages/millicast-viewer-demo", - "packages/millicast-chromecast-receiver", - "packages/millicast-multiview-demo", - "/**/src/*.worker.js", - "/**/rtc-drm-transform.min.js", - ], - }, - { - files: ["*.ts", "*.tsx", "*.js", "*.jsx"], - rules: { - "@nx/enforce-module-boundaries": [ - "error", - { - enforceBuildableLibDependency: true, - allow: [], - depConstraints: [ - { - sourceTag: "*", - onlyDependOnLibsWithTags: ["*"] - } - ] - } - ] - } - }, - { - files: ["*.ts", "*.tsx"], - rules: {} - }, - { - files: ["*.js", "*.jsx"], - rules: {} - }, - { - files: [ - "*.spec.ts", - "*.spec.tsx", - "*.spec.js", - "*.spec.jsx", - "*.steps.js", - "*.test.js", - "**/__mocks__/**" - ], - languageOptions: { - globals: { - "jest": true - }, - }, - rules: { - "@typescript-eslint/no-empty-function": [ - "error", - { - allow: [ - "functions", // Allows regular function declarations - "arrowFunctions", // Allows empty arrow functions - "methods", // Allows empty methods (e.g., in classes) - "constructors", // Allows empty constructors - "private-constructors", // Allows empty private constructors - "protected-constructors" // Allows empty protected constructors - ] - } - ] - } - } -]; diff --git a/nx.json b/nx.json index 632f9306..0f796b8f 100644 --- a/nx.json +++ b/nx.json @@ -6,8 +6,6 @@ "cacheableOperations": [ "build", "test", - "lint", - "lint:format", "prepare", "build-docs", "test-unit", @@ -22,8 +20,6 @@ "default": ["{projectRoot}/**/*", "sharedGlobals"], "production": [ "default", - "!{projectRoot}/.eslintrc.json", - "!{projectRoot}/eslint.config.js", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", "!{projectRoot}/jest.config.[jt]s", @@ -96,12 +92,6 @@ "serveStaticTargetName": "serve-static" } }, - { - "plugin": "@nx/eslint/plugin", - "options": { - "targetName": "lint" - } - }, { "plugin": "@nx/jest/plugin", "options": { @@ -112,7 +102,6 @@ "generators": { "@nx/web:application": { "style": "css", - "linter": "eslint", "unitTestRunner": "jest", "e2eTestRunner": "none" } diff --git a/package-lock.json b/package-lock.json index 7ac0f3e5..b3f47421 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,7 @@ "@babel/plugin-transform-runtime": "^7.13.10", "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.31.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "21.2.3", - "@nx/eslint-plugin": "21.2.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -36,8 +32,6 @@ "@types/jest": "^29.4.0", "@types/node": "^24.0.12", "@types/ua-parser-js": "^0.7.39", - "@typescript-eslint/eslint-plugin": "^8.37.0", - "@typescript-eslint/parser": "^8.37.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", @@ -51,7 +45,6 @@ "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", - "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", "netlify-cli": "^22.2.2", "npm": "^11.4.2", @@ -39387,6 +39380,30 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.37.0.tgz", + "integrity": "sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.37.0", + "@typescript-eslint/parser": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, "node_modules/ua-parser-js": { "version": "1.0.39", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", @@ -40792,13 +40809,21 @@ "ua-parser-js": "^1.0.38" }, "devDependencies": { + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.31.0", + "@nx/eslint": "21.2.3", + "@nx/eslint-plugin": "21.2.3", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@typescript-eslint/parser": "^8.37.0", "jest": "^30.0.4", "jest-cucumber": "^4.5.0", "jest-environment-jsdom": "^30.0.4", "jest-environment-node": "^30.0.4", "jest-puppeteer": "^11.0.0", "jest-websocket-mock": "^2.5.0", - "npm-watch": "^0.13.0" + "lint-staged": "^10.5.4", + "npm-watch": "^0.13.0", + "typescript-eslint": "^8.37.0" } }, "packages/millicast-sdk/node_modules/@jest/console": { diff --git a/package.json b/package.json index dd88718d..cfac000e 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ } }, "lint-staged": { - "**/*.js": [ - "eslint --fix" + "*": [ + "npm run lint" ] }, "workspaces": [ @@ -18,8 +18,8 @@ "scripts": { "build": "nx build @millicast/sdk", "build-docs": "nx build-docs @millicast/sdk", - "lint": "nx run @millicast/sdk:lint", - "lint-fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix", + "lint": "npm run lint --workspaces --if-present", + "lint-fix": "npm run lint-fix --workspaces --if-present", "start": "nx run-many -t serve --parallel --maxParallel=100", "start-docs": "nx start-docs @millicast/sdk", "test": "nx test @millicast/sdk", @@ -32,11 +32,7 @@ "@babel/plugin-transform-runtime": "^7.13.10", "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.31.0", "@maslick/radiaslider": "^1.9.8", - "@nx/eslint": "21.2.3", - "@nx/eslint-plugin": "21.2.3", "@nx/jest": "19.5.3", "@nx/js": "19.5.3", "@nx/vite": "21.2.2", @@ -53,8 +49,6 @@ "@types/jest": "^29.4.0", "@types/node": "^24.0.12", "@types/ua-parser-js": "^0.7.39", - "@typescript-eslint/eslint-plugin": "^8.37.0", - "@typescript-eslint/parser": "^8.37.0", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", "clean-jsdoc-theme": "^4.2.17", @@ -68,7 +62,6 @@ "husky": "^4.3.8", "install": "^0.13.0", "jsdom": "~22.1.0", - "lint-staged": "^10.5.4", "mock-socket": "^9.0.3", "netlify-cli": "^22.2.2", "npm": "^11.4.2", diff --git a/packages/millicast-sdk/.npmignore b/packages/millicast-sdk/.npmignore index ceab536d..a02ef260 100644 --- a/packages/millicast-sdk/.npmignore +++ b/packages/millicast-sdk/.npmignore @@ -3,5 +3,4 @@ docs coverage node_modules jest.config.js -jsdoc.json -docs-translations \ No newline at end of file +eslint.config.mjs diff --git a/packages/millicast-sdk/eslint.config.js b/packages/millicast-sdk/eslint.config.js deleted file mode 100644 index e075d9b1..00000000 --- a/packages/millicast-sdk/eslint.config.js +++ /dev/null @@ -1,61 +0,0 @@ -const rootConfig = require("../../eslint.config.js"); -const jsoncParser = require('jsonc-eslint-parser'); - -module.exports = [ - ...rootConfig, - { - ignores: [ - "!**/*", - "/src/drm/*", - "package.json", - "docs/", - "*.d.ts", - "jest.config.ts", - ], - }, - { - files: ["*.ts", "*.tsx", "*.js", "*.jsx"], - rules: {} - }, - { - files: ["*.ts", "*.tsx"], - rules: { - "@typescript-eslint/no-inferrable-types": "off" - } - }, - { - files: ["*.js", "*.jsx"], - rules: {} - }, - { - files: [ - "*.spec.ts", - "*.spec.tsx", - "*.spec.js", - "*.spec.jsx", - "*.steps.js", - "*.test.js", - "*/tests/**" - ], - languageOptions: { - globals: { - "jest": true - }, - }, - rules: {} - }, - { - files: ["*.json"], - languageOptions: { - parser: jsoncParser, - }, - rules: { - "@nx/dependency-checks": [ - "error", - { - ignoredFiles: ["{projectRoot}/vite.config.{js,ts,mjs,mts}"] - } - ] - } - } -]; diff --git a/packages/millicast-sdk/eslint.config.mjs b/packages/millicast-sdk/eslint.config.mjs new file mode 100644 index 00000000..51e070ff --- /dev/null +++ b/packages/millicast-sdk/eslint.config.mjs @@ -0,0 +1,72 @@ +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + eslint.configs.recommended, + tseslint.configs.recommended, + { + ignores: [ + "**/*.d.ts", + "src/drm/*", + "package.json", + "docs/", + "jest.config.ts", + ], + }, + { + files: ["**/*.ts", "**/*.js"], + rules: {} + }, + { + files: ["**/*.ts"], + rules: {} + }, + { + files: ["**/*.js"], + rules: {} + }, + { + files: [ + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.spec.js", + "**/*.spec.jsx", + "**/*.steps.js", + "**/*.test.js", + "**/*/tests/**", + "**/__mocks__/**" + ], + languageOptions: { + globals: { + "jest": true + }, + }, + rules: { + "@typescript-eslint/no-empty-function": [ + "error", + { + allow: [ + "functions", // Allows regular function declarations + "arrowFunctions", // Allows empty arrow functions + "methods", // Allows empty methods (e.g., in classes) + "constructors", // Allows empty constructors + "private-constructors", // Allows empty private constructors + "protected-constructors" // Allows empty protected constructors + ] + } + ], + "@typescript-eslint/no-require-imports": [ + "off" + ], + + } + }, + { + files: ["tests/**/*.js"], + rules: { + "no-undef": [ + "off" + ] + } + }, +); diff --git a/packages/millicast-sdk/jest_resolver.js b/packages/millicast-sdk/jest_resolver.js index f2c174f8..13e1301a 100644 --- a/packages/millicast-sdk/jest_resolver.js +++ b/packages/millicast-sdk/jest_resolver.js @@ -1,3 +1,4 @@ +// eslint-disable-next-line no-undef module.exports = (request, options) => { // Remove any query parameters in the request path // (e.g. ?worker, which Vite uses for worker imports) diff --git a/packages/millicast-sdk/jsdoc.json b/packages/millicast-sdk/jsdoc.json deleted file mode 100644 index 7c3a02fe..00000000 --- a/packages/millicast-sdk/jsdoc.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "tags": { - "allowUnknownTags": false - }, - "source": { - "include": ["src"], - "includePattern": ".+\\.js(doc|x)?$", - "excludePattern": "(^|\\/|\\\\)_" - }, - "plugins": [ - "plugins/markdown", - "../../node_modules/jsdoc-export-default-interop/dist/index", - "../../node_modules/jsdoc-i18n-plugin/index.js" - ], - "markdown": { - "idInHeadings": true - }, - "i18n": { - "locale": "en", - "directory": "docs-translations/", - "srcDir": "src/", - "extension": ".json" - }, - "opts": { - "template": "../../node_modules/clean-jsdoc-theme", - "encoding": "utf8", - "destination": "docs/", - "recurse": true, - "verbose": true, - "theme_opts": { - "title": "Millicast SDK", - "theme": "light", - "menu": [ - { - "title": "Github", - "link": "https://github.com/millicast/millicast-sdk", - "target": "_blank" - }, - { - "title": "NPM Package", - "link": "https://www.npmjs.com/package/@millicast/sdk", - "target": "_blank" - } - ] - } - }, - "templates": { - "cleverLinks": false, - "monospaceLinks": false - } -} diff --git a/packages/millicast-sdk/package.json b/packages/millicast-sdk/package.json index 3e0ed359..a5417049 100644 --- a/packages/millicast-sdk/package.json +++ b/packages/millicast-sdk/package.json @@ -27,6 +27,8 @@ "scripts": { "build": "nx build @millicast/sdk", "build-docs": "typedoc", + "lint": "eslint .", + "lint-fix": "eslint . --ext .js,.ts --fix", "start-docs": "npm run build-docs && serve docs & npm-watch", "test-unit": "npm run build && jest --testMatch '**/unit/*.steps.js'", "test-unit-coverage": "npm run build && jest --testMatch '**/unit/*.steps.js' --coverage", @@ -71,12 +73,20 @@ "ua-parser-js": "^1.0.38" }, "devDependencies": { + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.31.0", + "@nx/eslint": "21.2.3", + "@nx/eslint-plugin": "21.2.3", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@typescript-eslint/parser": "^8.37.0", "jest": "^30.0.4", "jest-cucumber": "^4.5.0", "jest-environment-jsdom": "^30.0.4", "jest-environment-node": "^30.0.4", "jest-puppeteer": "^11.0.0", "jest-websocket-mock": "^2.5.0", - "npm-watch": "^0.13.0" + "lint-staged": "^10.5.4", + "npm-watch": "^0.13.0", + "typescript-eslint": "^8.37.0" } } diff --git a/packages/millicast-sdk/src/utils/Codecs.ts b/packages/millicast-sdk/src/utils/Codecs.ts index 80a46d37..d11d0db6 100644 --- a/packages/millicast-sdk/src/utils/Codecs.ts +++ b/packages/millicast-sdk/src/utils/Codecs.ts @@ -1,5 +1,3 @@ -/* eslint-disable no-new-wrappers */ -/* eslint-disable camelcase */ import { AudioCodec, PictureParameterSet, SequenceParameterSet, VUIParameters } from '../types/Codecs.types' import BitStreamReader from './BitStreamReader' import { VideoCodec } from '../types/Codecs.types' diff --git a/packages/millicast-sdk/src/workers/TransformWorker.worker.ts b/packages/millicast-sdk/src/workers/TransformWorker.worker.ts index 0fe911df..e540d2fd 100644 --- a/packages/millicast-sdk/src/workers/TransformWorker.worker.ts +++ b/packages/millicast-sdk/src/workers/TransformWorker.worker.ts @@ -23,7 +23,6 @@ function createReceiverTransform(mid: string) { // This function is intentionally left empty }, async transform(encodedFrame: RTCEncodedVideoFrame, controller) { - // eslint-disable-next-line no-undef if (encodedFrame instanceof RTCEncodedVideoFrame) { const payloadType = encodedFrame.getMetadata().payloadType const frameCodec = payloadType ? payloadTypeCodec[payloadType].toLowerCase() : codec @@ -80,7 +79,6 @@ function createSenderTransform(): TransformStream { // This function is intentionally left empty }, async transform(encodedFrame: RTCEncodedVideoFrame, controller) { - // eslint-disable-next-line no-undef if (encodedFrame instanceof RTCEncodedVideoFrame) { const frameMetadata = encodedFrame.getMetadata() const newSyncSource = frameMetadata.synchronizationSource as number @@ -117,7 +115,6 @@ function setupPipe( readable.pipeThrough(transform).pipeTo(writable) } -// eslint-disable-next-line no-undef addEventListener('rtctransform', (event: unknown) => { const transformEvent = event as TransformEvent let transform: TransformStream From 22c65fca25e115b0a19bbb9540fe9e5236c28507 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Thu, 17 Jul 2025 08:34:26 -0700 Subject: [PATCH 16/22] Run prettier on SDK Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package.json | 1 + packages/millicast-sdk/.prettierignore | 3 + .../millicast-sdk/.prettierrc | 2 +- packages/millicast-sdk/README.md | 8 +- packages/millicast-sdk/eslint.config.mjs | 75 +-- packages/millicast-sdk/global.d.ts | 6 +- packages/millicast-sdk/jest.config.ts | 2 +- packages/millicast-sdk/jest_resolver.js | 6 +- packages/millicast-sdk/package.json | 8 +- packages/millicast-sdk/rollup.config.js | 6 +- packages/millicast-sdk/src/Logger.ts | 114 ++-- packages/millicast-sdk/src/PeerConnection.ts | 368 +++++------ .../millicast-sdk/src/PeerConnectionStats.ts | 54 +- packages/millicast-sdk/src/Publisher.ts | 268 ++++---- packages/millicast-sdk/src/Signaling.ts | 206 +++--- packages/millicast-sdk/src/Viewer.ts | 387 ++++++----- packages/millicast-sdk/src/index.ts | 2 +- .../src/types/BaseWebRTC.types.ts | 35 +- .../millicast-sdk/src/types/Codecs.types.ts | 24 +- .../src/types/PeerConnection.types.ts | 44 +- .../src/types/Publisher.types.ts | 44 +- .../src/types/Signaling.types.ts | 58 +- .../src/types/TransformWorker.types.ts | 26 +- .../millicast-sdk/src/types/Viewer.types.ts | 113 ++-- packages/millicast-sdk/src/types/events.ts | 50 +- packages/millicast-sdk/src/types/others.ts | 8 +- .../millicast-sdk/src/types/re-emitter.d.ts | 6 +- .../millicast-sdk/src/types/stats.types.ts | 185 +++--- packages/millicast-sdk/src/types/workers.d.ts | 6 +- packages/millicast-sdk/src/urls.ts | 22 +- .../millicast-sdk/src/utils/BaseWebRTC.ts | 175 ++--- .../src/utils/BitStreamReader.ts | 34 +- packages/millicast-sdk/src/utils/Codecs.ts | 604 +++++++++--------- .../millicast-sdk/src/utils/Diagnostics.ts | 83 +-- .../millicast-sdk/src/utils/FetchError.ts | 8 +- .../millicast-sdk/src/utils/ObjectUtils.ts | 10 +- packages/millicast-sdk/src/utils/SdpParser.ts | 218 +++---- .../src/utils/StreamTransform.ts | 4 +- .../millicast-sdk/src/utils/StringUtils.ts | 10 +- .../src/utils/TypedEventEmitter.ts | 4 +- packages/millicast-sdk/src/utils/UserAgent.ts | 42 +- .../millicast-sdk/src/utils/Validators.ts | 72 +-- .../src/workers/TransformWorker.worker.ts | 124 ++-- packages/millicast-sdk/typedoc.json | 44 +- packages/millicast-sdk/vite.config.ts | 10 +- 45 files changed, 1788 insertions(+), 1791 deletions(-) create mode 100644 packages/millicast-sdk/.prettierignore rename .prettierrc => packages/millicast-sdk/.prettierrc (84%) diff --git a/package.json b/package.json index cfac000e..ff0e428f 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "scripts": { "build": "nx build @millicast/sdk", "build-docs": "nx build-docs @millicast/sdk", + "pretty": "npm run pretty --workspaces --if-present", "lint": "npm run lint --workspaces --if-present", "lint-fix": "npm run lint-fix --workspaces --if-present", "start": "nx run-many -t serve --parallel --maxParallel=100", diff --git a/packages/millicast-sdk/.prettierignore b/packages/millicast-sdk/.prettierignore new file mode 100644 index 00000000..0f8b1c33 --- /dev/null +++ b/packages/millicast-sdk/.prettierignore @@ -0,0 +1,3 @@ +docs/ +src/drm/* +tests/ diff --git a/.prettierrc b/packages/millicast-sdk/.prettierrc similarity index 84% rename from .prettierrc rename to packages/millicast-sdk/.prettierrc index 96b0e5fd..63407c78 100644 --- a/.prettierrc +++ b/packages/millicast-sdk/.prettierrc @@ -1,7 +1,7 @@ { "trailingComma": "es5", "tabWidth": 2, - "semi": false, + "semi": true, "singleQuote": true, "printWidth": 110 } diff --git a/packages/millicast-sdk/README.md b/packages/millicast-sdk/README.md index 934d6a14..befc4d62 100644 --- a/packages/millicast-sdk/README.md +++ b/packages/millicast-sdk/README.md @@ -54,8 +54,8 @@ In vanilla JavaScript: + diff --git a/packages/millicast-sdk/tests/e2e/PuppeteerJest.html b/packages/millicast-sdk/tests/e2e/PuppeteerJest.html index 0f81dd9c..e0f1a298 100644 --- a/packages/millicast-sdk/tests/e2e/PuppeteerJest.html +++ b/packages/millicast-sdk/tests/e2e/PuppeteerJest.html @@ -1,7 +1,7 @@ PuppeteerJest - + + From c07cc134803e5f4d80bd681f1fb4fc32d8a15790 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Thu, 17 Jul 2025 14:45:53 -0700 Subject: [PATCH 19/22] Update the sample apps Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- .../src/viewer.ts | 5 +- .../src/multiviewer.ts | 5 +- .../millicast-publisher-demo/src/publisher.ts | 8 +- packages/millicast-viewer-demo/README.md | 6 - packages/millicast-viewer-demo/index.html | 231 +----------- .../public/css/index.css | 331 ------------------ packages/millicast-viewer-demo/src/viewer.ts | 18 +- .../src/viewer.ts | 4 +- 8 files changed, 12 insertions(+), 596 deletions(-) diff --git a/packages/millicast-chromecast-receiver/src/viewer.ts b/packages/millicast-chromecast-receiver/src/viewer.ts index 3b8d8195..700e3b20 100644 --- a/packages/millicast-chromecast-receiver/src/viewer.ts +++ b/packages/millicast-chromecast-receiver/src/viewer.ts @@ -1,10 +1,9 @@ -import { Viewer, Director, Logger, LayersEventPayload } from '@nx-millicast/millicast-sdk' -import { DirectorSubscriberOptions } from 'packages/millicast-sdk/src/types/Director.types' +import { Viewer, Urls, Logger } from '@nx-millicast/millicast-sdk' window.Logger = Logger if (import.meta.env.MILLICAST_DIRECTOR_ENDPOINT) { - Director.endpoint = import.meta.env.MILLICAST_DIRECTOR_ENDPOINT + Urls.setEndpoint(import.meta.env.MILLICAST_DIRECTOR_ENDPOINT); } const addStream = (stream) => { diff --git a/packages/millicast-multiview-demo/src/multiviewer.ts b/packages/millicast-multiview-demo/src/multiviewer.ts index 8b95ad28..ca42c9f5 100644 --- a/packages/millicast-multiview-demo/src/multiviewer.ts +++ b/packages/millicast-multiview-demo/src/multiviewer.ts @@ -1,8 +1,7 @@ -import { Viewer, Director, ActiveEventPayload, InactiveEventPayload, LayersEventPayload } from '@nx-millicast/millicast-sdk' -import { DirectorSubscriberOptions } from 'packages/millicast-sdk/src/types/Director.types' +import { Viewer, Urls, ActiveEventPayload, InactiveEventPayload, LayersEventPayload } from '@nx-millicast/millicast-sdk' if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT + Urls.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT); } // Get query params diff --git a/packages/millicast-publisher-demo/src/publisher.ts b/packages/millicast-publisher-demo/src/publisher.ts index a81faa6b..b624c1ee 100644 --- a/packages/millicast-publisher-demo/src/publisher.ts +++ b/packages/millicast-publisher-demo/src/publisher.ts @@ -1,16 +1,12 @@ -import { - DirectorPublisherOptions, - MillicastDirectorResponse, -} from 'packages/millicast-sdk/src/types/Director.types' import MillicastPublishUserMedia from './js/MillicastPublishUserMedia' -import { Director, Logger } from '@nx-millicast/millicast-sdk' +import { Urls, Logger } from '@nx-millicast/millicast-sdk' window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT + Urls.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT); } const streamName: string = diff --git a/packages/millicast-viewer-demo/README.md b/packages/millicast-viewer-demo/README.md index c1368cd1..55dc4574 100644 --- a/packages/millicast-viewer-demo/README.md +++ b/packages/millicast-viewer-demo/README.md @@ -44,14 +44,8 @@ This demo application allows the user to set some URL parameters for configuring | **url** | WebSocket URL | `wss://turn.millicast.com/millisock` | **accountId** | Publisher's account ID. | `null` | **streamName** | Publisher's stream name. | `null` -| **metadata** | Enable metadata extraction. | `false` | **disableVideo** | Set to disable video from the stream. | `false` | **disableAudio** | Set to disable audio from the stream. | `false` | **muted** | Set to mute the video player at first connection. | `true` | **autoplay** | Set to play the video at first connection. | `true` | **autoReconnect** | Set to enable auto reconnection. | `true` -| **disableControls** | Set to disable video player controls, such us volume, fullscreen, play/pause. | `false` -| **disableVolume** | Set to disable volume control. | `false` -| **disablePlay** | Set to disable play/pause control. | `false` -| **disableFull** | Set to disable fullscreen control. | `false` - diff --git a/packages/millicast-viewer-demo/index.html b/packages/millicast-viewer-demo/index.html index 58bcb15d..2978ffaf 100644 --- a/packages/millicast-viewer-demo/index.html +++ b/packages/millicast-viewer-demo/index.html @@ -1,256 +1,27 @@ - Millicast - Realtime Streaming Demo (Viewer) + Dolby OptiView - Streaming Demo (Viewer) - - - - -
-
-
- - - - diff --git a/packages/millicast-viewer-demo/public/css/index.css b/packages/millicast-viewer-demo/public/css/index.css index 80486389..c9b523d5 100644 --- a/packages/millicast-viewer-demo/public/css/index.css +++ b/packages/millicast-viewer-demo/public/css/index.css @@ -41,253 +41,6 @@ google-cast-launcher { height: 100%; } -/* -Black faded bars in control display for video. -*/ - -.blk-fade-top-bottom { - background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); -} - -.blk-fade-bottom-top { - background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)); -} - -#controlDisplay .vid-fade { - width: 100%; - position: absolute; -} - -#controlDisplay #topFade { - height: 100px; -} -#controlDisplay #btmFade { - height: 200px; -} - - -#controlDisplay #airIndicator { - position: absolute; - font-weight: bold; - font-size: 15px; - left: 20px; - top: 20px; -} - -#controlDisplay #overlayLogo, #guides .guide-view { - position: absolute; - /* left: 20px; */ - left: 0; - right: 0; - bottom: 90px; - margin: 0 auto; - text-align: center; -} -#controlDisplay #overlayLogo #coLogo { - width: 120px; - margin: auto; - padding: 6px 7px; -} - -/* #guides #guide1 { - bottom: 200px; - width: 300px; -} */ - -#guides #guide2, #guides #guide1 { - bottom: 140px; - width: 280px; -} - -#guides .guide-view { - font-size: 0.77rem; - border: white 0.5px solid;/* #6c757d */ - background: #000;/* #FFFAB8; */ - color: white; - border-radius: 10px; -} - -#guides .guide-view p { - font-size: 12px; -} - - -/* - VIEWER LINK AND DISPLAY -*/ - -#shareView .btn-group { - height: 50px; -} - -#vidCtrlView #viewerURL { - font-size: 0.76em; /* 13px; */ - color: #4C4C4C; - border: none; - /* border-color: #BBB; */ - background: white; - overflow: hidden; - text-overflow: ellipsis; - /* max-width: 15rem; */ - -} - -#vidCtrlView #viewerURL:active, -#controlDisplay #viewerURL:hover { - background-color: white; - border-color: #BBB; -} - -#vidCtrlView #viewerURL:focus, -#vidCtrlView #copyBtn:focus { - box-shadow: none; -} - -#vidCtrlView #copyBtn { - /* background: #bbb; */ - background: linear-gradient(rgb(207, 207, 207), rgb(162, 162, 162)); - border: #BBB; - font-size: 16px; - color: #555; -} - -/* #vidCtrlView { - margin-left: 1.5rem; - margin-right:1.5rem; -} */ -#vidCtrlView { - position: absolute; - bottom: 0; - left: 0; - right: 0; - background: rgb(64, 48, 142, 0.6); -} - -#camListBtn, #micListBtn { - overflow: hidden; - text-overflow: ellipsis; -} -#camListBtn p, #micListBtn p, #bandwidthMenuButton { - font-size: 0.77rem; -} - -/* overage cover for lists (hack) */ -#vidCtrlView .boxCover { - height: 30px; - width: 30px; - background-color: white; - position: absolute; - right: 0; - top: 9px; -} - - -#vidCtrlView .dropdown-toggle { - position: relative; - height: 50px; - border-color: #e6e6e6;/* dcdcdc; */ -} - -#vidCtrlView .dropdown-toggle::after { - position: absolute; - top: 20px; - right: 15px; -} - -#vidCtrlView .dropdown-menu .dropdown-item, -#publishView .dropdown-menu .dropdown-item, -#vidCtrlView .dropdown-toggle { - font-size: 0.77rem; - color: #4C4C4C; - background: white; - box-shadow: none; - outline: none; -} - -/* make label small, does not allow button to size properly in group */ -#vidCtrlView .dropdown-toggle>p { - width: 10px; - margin: 0; -} - -#vidCtrlView #micMuteBtn, -#vidCtrlView #camMuteBtn { - width: 50px; -} - - -#vidCtrlView .dropdown-menu .dropdown-item.selected { - background: #ddd; -} - -#vidCtrlView #publishBtn { - font-size: 0.85rem; - height: 50px; -} - -#thanks{ - padding-top: 15%; -} - -#thanks #coLogo{ - height: 15vh; -} - -#thanks #signUpBtn{ - font-size: 0.9rem; - min-height: 3.5em; - min-width: 9rem; -} - -.btn-purp { - background: #40308e; - border: none; - color: white; -} - -@media (max-height: 750px) { - /* #vidContainer { - max-height: none; - min-height: auto; - height: 75vh; - } */ - #vidCtrlView { - margin-left: 0; - margin-right:0; - } -} - - -/* Settings */ - -#controlDisplay #airIndicator.badge { - font-size: 13px; -} - -#controlDisplay #topFade { - z-index: 12; -} - -#controlDisplay #btmFade { - z-index: 13; -} - -#controlDisplay #airIndicator { - z-index: 16; -} - -#controlDisplay #overlayLogo { - z-index: 17; -} - -#vidCtrlView { - z-index: 18; -} - -#guides { - z-index: 22; -} - /* MOUSE / CURSOR */ .use-hand { cursor: hand; @@ -298,21 +51,12 @@ Black faded bars in control display for video. } /*Viewer Specific*/ -#logo{ - position: fixed; - z-index: 20; - width: 120px; -} video{ top: -75px; height:100%; z-index: -1; } -/*video::-webkit-media-controls { - display: none; -}*/ - .footer { position: fixed; left: 0; @@ -338,92 +82,17 @@ video{ transition: visibility 0s .5s, opacity .5s linear; } -.btn.focus, .btn:focus{ - box-shadow: none; - border-color: transparent; -} - -.baseBtn:not(:disabled):not(.disabled).active:focus, .baseBtn:not(:disabled):not(.disabled):active:focus, .show>.baseBtn.dropdown-toggle:focus { - box-shadow: none; - border-color: transparent; -} -.baseBtn:not(:disabled):not(.disabled).active:focus, .baseBtn:not(:disabled):not(.disabled):active:focus, .show>.baseBtn.dropdown-toggle:focus { - box-shadow: none; - border-color: transparent; -} - -.baseBtn:hover { - color: rgb(180, 180, 180); - border-color: transparent; -} - -.baseBtn:not(:disabled):not(.disabled).active, .baseBtn:not(:disabled):not(.disabled):active, .show>.baseBtn.dropdown-toggle { - color: rgb(180, 180, 180); - border-color: transparent; - box-shadow: none; -} - -.baseBtn{ - color: rgba(248, 249, 250, 0.51); - background-color: transparent; - background-image: none; - border-color: transparent; - font-size: 25px; - top: 0; - right: 0; - width: 75px; - height: 75px; -} - -.btn-outline-light:not(:disabled):not(.disabled).active:focus, .btn-outline-light:not(:disabled):not(.disabled):active:focus, .show>.btn-outline-light.dropdown-toggle:focus { - box-shadow: none; -} - -.btn-outline-light:hover { - color: #212529; - background-color: rgba(248, 249, 250, 0.51); - border-color: rgba(248, 249, 250, 0.51); -} - -.btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active, .show>.btn-outline-light.dropdown-toggle { - color: #212529; - background-color: rgba(248, 249, 250, 0.51); - border-color: rgba(248, 249, 250, 0.51); -} - -.btn-outline-light { - color: #f8f9fa; - background-color: transparent; - background-image: none; - border-color: rgba(248, 249, 250, 0.51); -} - -.btn-outline-light { - color: rgba(248, 249, 250, 0.51); - background-color: transparent; - background-image: none; - border-color: rgba(248, 249, 250, 0.51); -} @media (min-width: 414px) { video{ top: -50px; } - - .baseBtn{ - width: 50px; - height: 50px; - } } @media (min-width: 768px) { video{ top: -75px; } - .baseBtn{ - width: 75px; - height: 75px; - } } /*Turn Device Notification*/ diff --git a/packages/millicast-viewer-demo/src/viewer.ts b/packages/millicast-viewer-demo/src/viewer.ts index bc23120c..927bcaca 100644 --- a/packages/millicast-viewer-demo/src/viewer.ts +++ b/packages/millicast-viewer-demo/src/viewer.ts @@ -1,4 +1,4 @@ -import { Viewer, Director, Logger, ActiveEventPayload, MetadataEventPayload } from "@nx-millicast/millicast-sdk"; +import { Viewer, Urls, Logger, ActiveEventPayload, MetadataEventPayload } from "@nx-millicast/millicast-sdk"; import { DRMOptions } from "packages/millicast-sdk/src/types/Viewer.types"; window.Logger = Logger @@ -6,7 +6,7 @@ window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT + Urls.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT); } //Get our url @@ -31,19 +31,7 @@ const disableVideo = href.searchParams.get('disableVideo') === 'true' const disableAudio = href.searchParams.get('disableAudio') === 'true' const muted = href.searchParams.get('muted') === 'true' || href.searchParams.get('muted') === null const autoplay = href.searchParams.get('autoplay') === 'true' || href.searchParams.get('autoplay') === null -const autoReconnect = - href.searchParams.get('autoReconnect') === 'true' || href.searchParams.get('autoReconnect') === null -const disableControls = - href.searchParams.get('disableControls') === 'true' && href.searchParams.get('disableControls') !== null -const disableVolume = - (href.searchParams.get('disableVolume') === 'true' && href.searchParams.get('disableVolume') !== null) || - disableControls -const disablePlay = - (href.searchParams.get('disablePlay') === 'true' && href.searchParams.get('disablePlay') !== null) || - disableControls -const disableFull = - (href.searchParams.get('disableFull') === 'true' && href.searchParams.get('disableFull') !== null) || - disableControls +const autoReconnect = href.searchParams.get('autoReconnect') === 'true' || href.searchParams.get('autoReconnect') === null let playing = false; let fullBtn = document.querySelector("#fullBtn") as HTMLButtonElement; diff --git a/packages/millicast-webaudio-delay-demo/src/viewer.ts b/packages/millicast-webaudio-delay-demo/src/viewer.ts index a93bdbb3..4473d201 100644 --- a/packages/millicast-webaudio-delay-demo/src/viewer.ts +++ b/packages/millicast-webaudio-delay-demo/src/viewer.ts @@ -1,4 +1,4 @@ -import { Viewer, Director, Logger } from '@nx-millicast/millicast-sdk' +import { Viewer, Urls, Logger } from '@nx-millicast/millicast-sdk' import CircularSlider from '@maslick/radiaslider/src/slider-circular' console.log(CircularSlider) @@ -7,7 +7,7 @@ window.Logger = Logger Logger.setLevel(Logger.DEBUG) if (import.meta.env.VITE_DIRECTOR_ENDPOINT) { - Director.endpoint = import.meta.env.VITE_DIRECTOR_ENDPOINT + Urls.setEndpoint(import.meta.env.VITE_DIRECTOR_ENDPOINT); } // Get our url From f6695ff254fc5b93622afe67bdb4366c7d2354f2 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Fri, 18 Jul 2025 09:41:54 -0700 Subject: [PATCH 20/22] Update the PeerConnection definition Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- packages/millicast-sdk/.prettierignore | 1 + packages/millicast-sdk/src/PeerConnection.ts | 10 ++++++---- packages/millicast-sdk/src/Publisher.ts | 2 +- packages/millicast-sdk/src/Signaling.ts | 2 +- packages/millicast-sdk/src/Viewer.ts | 2 +- packages/millicast-sdk/src/index.ts | 2 +- packages/millicast-sdk/src/types/Publisher.types.ts | 2 +- packages/millicast-sdk/src/types/events.ts | 2 +- packages/millicast-sdk/src/utils/BaseWebRTC.ts | 2 +- .../millicast-sdk/tests/unit/ChangeMediaTrack.steps.js | 2 +- .../millicast-sdk/tests/unit/GetCapabilites.steps.js | 2 +- .../millicast-sdk/tests/unit/GetPeerStatus.steps.js | 2 +- .../tests/unit/ManagePeerConnection.steps.js | 2 +- .../tests/unit/PeerConnectionEvent.steps.js | 2 +- packages/millicast-sdk/tests/unit/Publisher.steps.js | 2 +- .../tests/unit/SetLocalDescription.steps.js | 2 +- .../tests/unit/SetRemoteDescription.steps.js | 2 +- .../tests/unit/UpdateBitrateWebRTC.steps.js | 2 +- 18 files changed, 23 insertions(+), 20 deletions(-) diff --git a/packages/millicast-sdk/.prettierignore b/packages/millicast-sdk/.prettierignore index 0f8b1c33..45562c1f 100644 --- a/packages/millicast-sdk/.prettierignore +++ b/packages/millicast-sdk/.prettierignore @@ -1,3 +1,4 @@ docs/ src/drm/* tests/ +dist/ diff --git a/packages/millicast-sdk/src/PeerConnection.ts b/packages/millicast-sdk/src/PeerConnection.ts index d1a73d74..423bd6a6 100644 --- a/packages/millicast-sdk/src/PeerConnection.ts +++ b/packages/millicast-sdk/src/PeerConnection.ts @@ -31,9 +31,9 @@ const localSDPOptions = { /** * Manages WebRTC connection and SDP information between peers. - * @example const peerConnection = new PeerConnection() + * @example const peerConnection = new PeerConnection(); */ -export class PeerConnection extends TypedEventEmitter { +export default class PeerConnection extends TypedEventEmitter { public mode: 'Publisher' | 'Viewer' | null; public peer: RTCPeerConnection | null; public peerConnectionStats: PeerConnectionStats | null; @@ -265,7 +265,7 @@ export class PeerConnection extends TypedEventEmitter { if (browserCapabilities) { const codecs: { [key in VideoCodec | AudioCodec]?: ICodecs } = {}; - let regex = new RegExp(`^video/(${Object.values(VideoCodec).join('|')})x?$`, 'i'); + let regex: RegExp; if (kind === 'audio') { regex = new RegExp(`^audio/(${Object.values(AudioCodec).join('|')})$`, 'i'); @@ -273,12 +273,14 @@ export class PeerConnection extends TypedEventEmitter { if (browserData.isChrome()) { codecs['multiopus'] = { mimeType: 'audio/multiopus', channels: 6 }; } + } else { + regex = new RegExp(`^video/(${Object.values(VideoCodec).join('|')})x?$`, 'i'); } for (const codec of browserCapabilities.codecs) { const matches = codec.mimeType?.match(regex); if (matches) { - const codecName = matches[1].toLowerCase(); + const codecName: string = matches[1].toLowerCase(); if (isVideoCodec(codecName) || isAudioCodec(codecName)) { codecs[codecName] = { ...codecs[codecName], mimeType: codec.mimeType }; if (codec.scalabilityModes) { diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index eb83c11b..3f809d92 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -5,7 +5,7 @@ import Logger from './Logger'; import { BaseWebRTC } from './utils/BaseWebRTC'; import { Signaling } from './Signaling'; import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs'; -import { PeerConnection, ConnectionType } from './PeerConnection'; +import PeerConnection, { ConnectionType } from './PeerConnection'; import * as Urls from './urls'; import FetchError from './utils/FetchError'; import { supportsInsertableStreams, supportsRTCRtpScriptTransform } from './utils/StreamTransform'; diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index 06d7cea6..b45c9522 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -2,7 +2,7 @@ import { ILogger } from 'js-logger'; import TransactionManager from 'transaction-manager'; import Logger from './Logger'; import SdpParser from './utils/SdpParser'; -import { PeerConnection } from './PeerConnection'; +import PeerConnection from './PeerConnection'; import Diagnostics from './utils/Diagnostics'; import { PublishCmd, diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index 1a5ffe41..7d4a59bc 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -3,7 +3,7 @@ import jwtDecode from 'jwt-decode'; import Logger from './Logger'; import { BaseWebRTC } from './utils/BaseWebRTC'; import { Signaling } from './Signaling'; -import { PeerConnection } from './PeerConnection'; +import PeerConnection from './PeerConnection'; import { hexToUint8Array } from './utils/StringUtils'; import { swapPropertyValues } from './utils/ObjectUtils'; import FetchError from './utils/FetchError'; diff --git a/packages/millicast-sdk/src/index.ts b/packages/millicast-sdk/src/index.ts index f1ab7f56..805348c5 100644 --- a/packages/millicast-sdk/src/index.ts +++ b/packages/millicast-sdk/src/index.ts @@ -7,7 +7,7 @@ export * as Urls from './urls'; export * from './types/events'; export * from './types/PeerConnection.types'; -export { PeerConnection } from './PeerConnection'; +export * from './PeerConnection'; export * from './types/stats.types'; export * from './PeerConnectionStats'; diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index 0a8299ce..618546f8 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -2,7 +2,7 @@ import { PublisherServerEvent } from './BaseWebRTC.types'; import { VideoCodec } from './Codecs.types'; import { PeerConnectionConfig } from './PeerConnection.types'; /* eslint-disable @typescript-eslint/no-unused-vars */ -import { PeerConnection } from '../PeerConnection'; +import PeerConnection from '../PeerConnection'; /** * Publisher Options diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index e95c6e8f..2db3f44f 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -2,7 +2,7 @@ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; -import { PeerConnection } from '../PeerConnection'; +import PeerConnection from '../PeerConnection'; import { PeerConnectionStats } from '../PeerConnectionStats'; import { Signaling } from '../Signaling'; import TransactionManager from 'transaction-manager'; diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index b7195c1b..684bf429 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -1,5 +1,5 @@ import Logger from '../Logger'; -import { PeerConnection } from '../PeerConnection'; +import PeerConnection from '../PeerConnection'; import { Signaling } from '../Signaling'; import Diagnostics from './Diagnostics'; import { ILogger } from 'js-logger'; diff --git a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js index e8aba77a..8efb9b8f 100644 --- a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js +++ b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js index bb9d3f2e..b2c4beaa 100644 --- a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js +++ b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' const feature = loadFeature('../features/GetCapabilities.feature', { loadRelativePath: true, errors: true }) diff --git a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js index d54e6919..529c088f 100644 --- a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js +++ b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js index b6799f5d..d07fe212 100644 --- a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js +++ b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import { defaultConfig } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' const feature = loadFeature('../features/ManagePeerConnection.feature', { diff --git a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js index 022fe476..d795e427 100644 --- a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js +++ b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/Publisher.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js index 7f446dba..78c7da24 100644 --- a/packages/millicast-sdk/tests/unit/Publisher.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { Publisher } from '../../src/Publisher' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import { Signaling } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' diff --git a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js index 6358b6af..6af5f7c1 100644 --- a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js index 6de1287b..ee0df820 100644 --- a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection } from '../../src/PeerConnection' +import PeerConnection from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' const feature = loadFeature('../features/SetRemoteDescription.feature', { diff --git a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js index f3357e7f..3ae92940 100644 --- a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js +++ b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import { PeerConnection, ConnectionType } from '../../src/PeerConnection' +import PeerConnection, { ConnectionType } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' From 94ea16d65a01ad2038647d1e497a87438f8a028c Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Mon, 21 Jul 2025 15:42:44 -0700 Subject: [PATCH 21/22] Update PeerConnection and readme Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- README.md | 63 ++++++++--------- packages/millicast-sdk/README.md | 51 +++++--------- packages/millicast-sdk/src/PeerConnection.ts | 5 +- packages/millicast-sdk/src/Publisher.ts | 70 ++++++++++--------- packages/millicast-sdk/src/Signaling.ts | 2 +- packages/millicast-sdk/src/Viewer.ts | 52 ++++++++------ .../src/types/Publisher.types.ts | 50 ++++++------- packages/millicast-sdk/src/types/events.ts | 17 +++-- .../millicast-sdk/src/utils/BaseWebRTC.ts | 16 +++-- .../tests/unit/ChangeMediaTrack.steps.js | 2 +- .../tests/unit/GetCapabilites.steps.js | 2 +- .../tests/unit/GetPeerStatus.steps.js | 2 +- .../tests/unit/ManagePeerConnection.steps.js | 2 +- .../tests/unit/PeerConnectionEvent.steps.js | 2 +- .../tests/unit/Publisher.steps.js | 2 +- .../tests/unit/SetLocalDescription.steps.js | 2 +- .../tests/unit/SetRemoteDescription.steps.js | 2 +- .../tests/unit/UpdateBitrateWebRTC.steps.js | 2 +- packages/millicast-viewer-demo/src/viewer.ts | 2 +- typedoc.base.json | 1 + 20 files changed, 172 insertions(+), 175 deletions(-) diff --git a/README.md b/README.md index 36eccde3..c0a940d8 100644 --- a/README.md +++ b/README.md @@ -37,17 +37,15 @@ npm i --save @millicast/sdk The following examples demonstrate how to broadcast with the Publisher app capturing the user's camera and microphone. You can then view the stream using the Viewer app. -You will need to use a [Dolby Millicast account](https://streaming.dolby.io/) with a valid publishing token. +You will need to use a [Dolby OptiView account](https://optiview.dolby.com/) with a valid publishing token. ### Publisher app Please be sure to set up the credentials filling up the `yourStreamName` and `yourPublishingToken` fields. -In vanilla JavaScript: - -`publisher.html` - ```html + + @@ -56,30 +54,28 @@ In vanilla JavaScript: @@ -90,11 +86,9 @@ In vanilla JavaScript: Please be sure to set up the credentials filling up the `yourStreamName` and `yourStreamAccountId` fields. -In vanilla JavaScript: - -`viewer.html` - ```html + + @@ -106,27 +100,28 @@ In vanilla JavaScript: @@ -135,7 +130,7 @@ In vanilla JavaScript: ## Documentation -The [Documentation](https://docs.optiview.dolby.com/millicast/) provides an overview of the Dolby Millicast services. This includes a [Getting Started](https://docs.optiview.dolby.com/millicast/getting-started/) guide as a quick start. +The [Documentation](https://optiview.dolby.com/docs/millicast/) provides an overview of the Dolby OptiView streaming services. This includes a [Getting Started](https://optiview.dolby.com/docs/millicast/getting-started/) guide as a quick start. The [SDK Documentation](https://millicast.github.io/millicast-sdk/) details the Modules, Classes, and APIs you can use during development. @@ -158,7 +153,7 @@ Right now, we only have a React Native guide. This SDK can be used for React Native based projects. In order to accomplish this integration, some configuration steps are needed. This library assumes all webRTC methods are natively defined (usually, inside web browsers). However this is not the case for native Android/iOS native applications. In order to solve this, we have tested and worked along with [React Native webRTC project](https://github.com/react-native-webrtc/react-native-webrtc) for this purpose. -Check out this guide on [how to integrate Millicast JS SDK with React Native webRTC](https://docs.optiview.dolby.com/millicast/playback/players-sdks/react-native/)! +Check out this guide on [how to integrate Millicast JS SDK with React Native webRTC](https://optiview.dolby.com/docs/millicast/playback/players-sdks/react-native/)! ## SDK developer information diff --git a/packages/millicast-sdk/README.md b/packages/millicast-sdk/README.md index befc4d62..c48c6fbd 100644 --- a/packages/millicast-sdk/README.md +++ b/packages/millicast-sdk/README.md @@ -2,20 +2,7 @@ [![GitHub](https://img.shields.io/badge/GitHub-_?logo=GitHub&labelColor=black&color=blue)](https://github.com/millicast/millicast-sdk) [![Documentation](https://img.shields.io/badge/Documentation-_?logo=readthedocs&labelColor=black&color=blue)](https://millicast.github.io/millicast-sdk/) -This Software Development Kit (SDK) for JavaScript allows developers to simplify Millicast services integration into their own web apps. - -## Table of Contents - -- [Installation](#installation) -- [Basic Usage](#basic-usage) - - [Publisher app](#publisher-app) - - [Viewer app](#viewer-app) -- [Documentation](#documentation) -- [Samples](#samples) -- [JS Frameworks](#js-frameworks) - - [React Native](#react-native) -- [SDK developer information](#sdk-developer-information) -- [License](#license) +This Software Development Kit (SDK) for JavaScript allows developers to simplify [Dolby OptiView](https://optiview.dolby.com/) ultra-low latency streaming services integration into their own web apps. ## Installation @@ -25,27 +12,25 @@ You can use the CDN version of the SDK adding this tag to your document's ` ``` -Or if you are building an application with Node.js, you can install the SDK package to your dependencies. +Or if you are building a JavaScript or TypeScript web application, you can install the SDK package to your dependencies. ```sh -npm i --save @millicast/sdk +npm install @millicast/sdk ``` ## Basic Usage The following examples demonstrate how to broadcast with the Publisher app capturing the user's camera and microphone. You can then view the stream using the Viewer app. -You will need to use a [Dolby Millicast account](https://streaming.dolby.io/) with a valid publishing token. +You will need to use a [Dolby OptiView account](https://optiview.dolby.com/) with a valid publishing token. ### Publisher app Please be sure to set up the credentials filling up the `yourStreamName` and `yourPublishingToken` fields. -In vanilla JavaScript: - -`publisher.html` - ```html + + @@ -75,7 +60,7 @@ In vanilla JavaScript: try { await millicastPublisher.connect(broadcastOptions); } catch (e) { - console.log('Connection failed, handle error', e); + console.error('Connection failed, handle error', e); } @@ -86,11 +71,9 @@ In vanilla JavaScript: Please be sure to set up the credentials filling up the `yourStreamName` and `yourStreamAccountId` fields. -In vanilla JavaScript: - -`viewer.html` - ```html + + @@ -102,11 +85,11 @@ In vanilla JavaScript: @@ -132,9 +115,7 @@ In vanilla JavaScript: ## Documentation -The [Documentation](https://docs.optiview.dolby.com/millicast/) provides an overview of the Dolby Millicast services. This includes a [Getting Started](https://docs.optiview.dolby.com/millicast/getting-started/) guide as a quick start. - -The [SDK Documentation](https://millicast.github.io/millicast-sdk/) details the Modules, Classes, and APIs you can use during development. +The [Documentation](https://optiview.dolby.com/docs/millicast/) provides an overview of the Dolby OptiView streaming services. This includes a [Getting Started](https://optiview.dolby.com/docs/millicast/getting-started/) guide as a quick start. ### Samples @@ -155,7 +136,7 @@ Right now, we only have a React Native guide. This SDK can be used for React Native based projects. In order to accomplish this integration, some configuration steps are needed. This library assumes all webRTC methods are natively defined (usually, inside web browsers). However this is not the case for native Android/iOS native applications. In order to solve this, we have tested and worked along with [React Native webRTC project](https://github.com/react-native-webrtc/react-native-webrtc) for this purpose. -Check out this guide on [how to integrate Millicast JS SDK with React Native webRTC](https://docs.optiview.dolby.com/millicast/playback/players-sdks/react-native/)! +Check out this guide on [how to integrate Millicast JS SDK with React Native webRTC](https://optiview.dolby.com/docs/millicast/playback/players-sdks/react-native/)! ## SDK developer information diff --git a/packages/millicast-sdk/src/PeerConnection.ts b/packages/millicast-sdk/src/PeerConnection.ts index 423bd6a6..0060b962 100644 --- a/packages/millicast-sdk/src/PeerConnection.ts +++ b/packages/millicast-sdk/src/PeerConnection.ts @@ -30,10 +30,9 @@ const localSDPOptions = { }; /** - * Manages WebRTC connection and SDP information between peers. - * @example const peerConnection = new PeerConnection(); + * Manages the WebRTC connection and SDP information between peers. */ -export default class PeerConnection extends TypedEventEmitter { +export class PeerConnection extends TypedEventEmitter { public mode: 'Publisher' | 'Viewer' | null; public peer: RTCPeerConnection | null; public peerConnectionStats: PeerConnectionStats | null; diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index 3f809d92..bee75f42 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -5,7 +5,7 @@ import Logger from './Logger'; import { BaseWebRTC } from './utils/BaseWebRTC'; import { Signaling } from './Signaling'; import { DOLBY_SDK_TIMESTAMP_UUID } from './utils/Codecs'; -import PeerConnection, { ConnectionType } from './PeerConnection'; +import { PeerConnection, ConnectionType } from './PeerConnection'; import * as Urls from './urls'; import FetchError from './utils/FetchError'; import { supportsInsertableStreams, supportsRTCRtpScriptTransform } from './utils/StreamTransform'; @@ -37,6 +37,8 @@ const connectOptions: PublishConnectOptions = { /** * This object manages the connection to the platform to publish a stream. * + * The events from {@link PublisherEvents} may be fired from this object. + * * Before you can broadcast, you will need a [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API) object * which has at most one audio track and at most one video track. This will be used for stream the contained tracks. * @@ -62,14 +64,13 @@ const connectOptions: PublishConnectOptions = { * }; * await publisher.connect(connecOptions); */ -export class Publisher extends BaseWebRTC { +export class Publisher extends BaseWebRTC { #recordingAvailable: boolean = false; private worker: Worker | null = null; private streamName = ''; private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null; private stopReemitingSignalingInstanceEvents: (() => void) | null = null; #options: PublisherOptions; - protected override options: PublishConnectOptions = connectOptions; /** * Creates a Publisher object. @@ -97,11 +98,12 @@ export class Publisher extends BaseWebRTC { /** * Starts broadcast to an existing stream name. * - * In the example, `getYourMediaStream` and `getYourPublisherConnection` is your own implementation. - * @param options - General broadcast options.@returns {Promise} Promise object which resolves when the broadcast started successfully. + * @param options - General broadcast options. + * + * @returns {Promise} Promise object which resolves when the broadcast started successfully. * * @example - * import { Viewer, PublisherOptions } from '@millicast/sdk'; + * import { Publisher, PublisherOptions } from '@millicast/sdk'; * * const streamName = "My Stream Name"; * const publishToken = "PUBLISH_TOKEN"; @@ -127,15 +129,14 @@ export class Publisher extends BaseWebRTC { if (error) this.logger.warn(error, value); - this.options = { + this.connectOptions = { ...connectOptions, ...options, peerConfig: { ...connectOptions.peerConfig, ...options.peerConfig }, setSDPToPeer: false, }; - this.options.metadata = - this.options.metadata && this.options.codec === VideoCodec.H264 && !this.options.disableVideo; + this.connectOptions.metadata = this.connectOptions.metadata && this.connectOptions.codec === VideoCodec.H264 && !this.connectOptions.disableVideo; await this.initConnection({ migrate: false }); } @@ -146,14 +147,14 @@ export class Publisher extends BaseWebRTC { * @param data Data object. */ override async reconnect(data?: ReconnectData) { - this.options.mediaStream = this.webRTCPeer?.getTracks() ?? this.options.mediaStream; + this.connectOptions.mediaStream = this.webRTCPeer?.getTracks() ?? this.connectOptions.mediaStream; super.reconnect(data); } /** @ignore */ override async replaceConnection() { this.logger.info('Migrating current connection'); - this.options.mediaStream = this.webRTCPeer?.getTracks() ?? this.options.mediaStream; + this.connectOptions.mediaStream = this.webRTCPeer?.getTracks() ?? this.connectOptions.mediaStream; await this.initConnection({ migrate: true }); } @@ -162,7 +163,7 @@ export class Publisher extends BaseWebRTC { */ public async startRecording(): Promise { if (this.#recordingAvailable) { - this.options.record = true; + this.connectOptions.record = true; await this.signaling?.cmd('record'); this.logger.info('Broadcaster start recording'); } else { @@ -175,7 +176,7 @@ export class Publisher extends BaseWebRTC { */ public async stopRecording(): Promise { if (this.#recordingAvailable) { - this.options.record = false; + this.connectOptions.record = false; await this.signaling?.cmd('unrecord'); this.logger.info('Broadcaster stop recording'); } else { @@ -193,10 +194,10 @@ export class Publisher extends BaseWebRTC { } private async initConnection(data: { migrate: boolean }) { - this.logger.debug('Broadcast option values: ', this.options); + this.logger.debug('Broadcast option values: ', this.connectOptions); this.stopReconnection = false; let promises; - if (!this.options.mediaStream) { + if (!this.connectOptions.mediaStream) { this.logger.error('Error while broadcasting. MediaStream required'); throw new Error('MediaStream required'); } @@ -207,10 +208,10 @@ export class Publisher extends BaseWebRTC { let publisherData: MillicastDirectorResponse; try { publisherData = await this.getConnectionData(); - if (this.options.peerConfig) { + if (this.connectOptions.peerConfig) { // Set the iceServers from the publish data into the peerConfig - this.options.peerConfig.iceServers = publisherData?.iceServers; - this.options.peerConfig.encodedInsertableStreams = this.options.metadata; + this.connectOptions.peerConfig.iceServers = publisherData?.iceServers; + this.connectOptions.peerConfig.encodedInsertableStreams = this.connectOptions.metadata; } } catch (error) { this.logger.error('Error generating token.'); @@ -232,7 +233,7 @@ export class Publisher extends BaseWebRTC { const decodedJWT = jwtDecode(publisherData.jwt) as DecodedJWT; this.streamName = decodedJWT['millicast'].streamName; this.#recordingAvailable = decodedJWT[atob('bWlsbGljYXN0')].record; - if (this.options.record && !this.#recordingAvailable) { + if (this.connectOptions.record && !this.#recordingAvailable) { this.logger.error('Error while broadcasting. Record option detected but recording is not available'); throw new Error('Record option detected but recording is not available'); } @@ -243,25 +244,28 @@ export class Publisher extends BaseWebRTC { }); const webRTCPeerInstance = data.migrate ? new PeerConnection() : this.webRTCPeer; - await webRTCPeerInstance.createRTCPeer(this.options.peerConfig, ConnectionType.Publisher); + await webRTCPeerInstance.createRTCPeer(this.connectOptions.peerConfig, ConnectionType.Publisher); // Stop emiting events from the previous instances this.stopReemitingWebRTCPeerInstanceEvents?.(); this.stopReemitingSignalingInstanceEvents?.(); // And start emitting from the new ones - this.stopReemitingWebRTCPeerInstanceEvents = reemit(webRTCPeerInstance, this, ['connectionStateChange']); + this.stopReemitingWebRTCPeerInstanceEvents = reemit(webRTCPeerInstance, this, [ + 'connectionStateChange', + 'stats', + ]); this.stopReemitingSignalingInstanceEvents = reemit(signalingInstance, this, [ 'active', 'inactive', 'viewercount', ]); - const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(this.options as SignalingPublishOptions); + const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(this.connectOptions as SignalingPublishOptions); const signalingConnectPromise = signalingInstance.connect(); promises = await Promise.all([getLocalSDPPromise, signalingConnectPromise]); const localSdp = promises[0]; - if (this.options.metadata) { + if (this.connectOptions.metadata) { if (!this.worker) { this.worker = new TransformWorker(); } @@ -272,7 +276,7 @@ export class Publisher extends BaseWebRTC { if (supportsRTCRtpScriptTransform && this.worker) { sender.transform = new RTCRtpScriptTransform(this.worker, { name: 'senderTransform', - codec: this.options.codec, + codec: this.connectOptions.codec, }); } else if (supportsInsertableStreams) { // @ts-expect-error supportsInserableStream checks if createEncodedStreams is defined @@ -280,7 +284,7 @@ export class Publisher extends BaseWebRTC { this.worker?.postMessage( { action: 'insertable-streams-sender', - codec: this.options.codec, + codec: this.connectOptions.codec, readable, writable, }, @@ -293,15 +297,15 @@ export class Publisher extends BaseWebRTC { let oldSignaling = this.signaling; this.signaling = signalingInstance; - const publishPromise = this.signaling.publish(localSdp, this.options as SignalingPublishOptions); + const publishPromise = this.signaling.publish(localSdp, this.connectOptions as SignalingPublishOptions); const setLocalDescriptionPromise = webRTCPeerInstance.peer?.setLocalDescription( webRTCPeerInstance.sessionDescription ); promises = await Promise.all([publishPromise, setLocalDescriptionPromise]); let remoteSdp = promises[0]; - if (!this.options.disableVideo && this.options.bandwidth && this.options.bandwidth > 0) { - remoteSdp = webRTCPeerInstance.updateBandwidthRestriction(remoteSdp, this.options.bandwidth); + if (!this.connectOptions.disableVideo && this.connectOptions.bandwidth && this.connectOptions.bandwidth > 0) { + remoteSdp = webRTCPeerInstance.updateBandwidthRestriction(remoteSdp, this.connectOptions.bandwidth); } await webRTCPeerInstance.setRTCRemoteSDP(remoteSdp); @@ -329,7 +333,7 @@ export class Publisher extends BaseWebRTC { * @param uuid String with UUID format as hex digit (XXXX-XX-XX-XX-XXXXXX). Default is `"d40e38ea-d419-4c62-94ed-20ac37b4e4fa"`. */ public sendMetadata(message: SEIUserUnregisteredData, uuid: string = DOLBY_SDK_TIMESTAMP_UUID) { - if (this.options?.metadata && this.worker) { + if (this.connectOptions?.metadata && this.worker) { this.worker.postMessage({ action: 'metadata-sei-user-data-unregistered', uuid, @@ -337,13 +341,13 @@ export class Publisher extends BaseWebRTC { }); } else { let warningMessage = 'Could not send metadata due to:'; - if (this.options) { - if (!this.options.metadata) { + if (this.connectOptions) { + if (!this.connectOptions.metadata) { warningMessage += '\n- Metadata option is not enabled.'; - if (this.options.codec !== VideoCodec.H264) { + if (this.connectOptions.codec !== VideoCodec.H264) { warningMessage += '\n- Incompatible codec. Only H264 available.'; } - if (this.options.disableVideo) { + if (this.connectOptions.disableVideo) { warningMessage += '\n- Video disabled.'; } } else if (!this.worker) { diff --git a/packages/millicast-sdk/src/Signaling.ts b/packages/millicast-sdk/src/Signaling.ts index b45c9522..06d7cea6 100644 --- a/packages/millicast-sdk/src/Signaling.ts +++ b/packages/millicast-sdk/src/Signaling.ts @@ -2,7 +2,7 @@ import { ILogger } from 'js-logger'; import TransactionManager from 'transaction-manager'; import Logger from './Logger'; import SdpParser from './utils/SdpParser'; -import PeerConnection from './PeerConnection'; +import { PeerConnection } from './PeerConnection'; import Diagnostics from './utils/Diagnostics'; import { PublishCmd, diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index 7d4a59bc..7a44142d 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -3,7 +3,7 @@ import jwtDecode from 'jwt-decode'; import Logger from './Logger'; import { BaseWebRTC } from './utils/BaseWebRTC'; import { Signaling } from './Signaling'; -import PeerConnection from './PeerConnection'; +import { PeerConnection } from './PeerConnection'; import { hexToUint8Array } from './utils/StringUtils'; import { swapPropertyValues } from './utils/ObjectUtils'; import FetchError from './utils/FetchError'; @@ -69,6 +69,8 @@ const defaultConnectOptions: ViewerConnectOptions = { /** * This object manages the connection to the platform to subscribe and receive streams. * + * The events from {@link ViewerEvents} may be fired from this object. + * * @example * How to connect to a stream: * ```typescript @@ -122,7 +124,7 @@ const defaultConnectOptions: ViewerConnectOptions = { * const connectOptions: ViewerConnectOptions = {}; * await viewer.connect(connectOptions); */ -export class Viewer extends BaseWebRTC { +export class Viewer extends BaseWebRTC { // States what payload type is associated with each codec from the SDP answer. private payloadTypeCodec: { [key: number]: string } = {}; // Follows the media id values of each transceiver's track from the 'track' events. @@ -138,7 +140,6 @@ export class Viewer extends BaseWebRTC { private stopReemitingWebRTCPeerInstanceEvents: (() => void) | null = null; private stopReemitingSignalingInstanceEvents: (() => void) | null = null; #options: ViewerOptions; - protected override options: ViewerConnectOptions | null = null; /** * Creates a Viewer object. @@ -148,13 +149,15 @@ export class Viewer extends BaseWebRTC { const logger = Logger.get('Viewer'); if (isNotDefined(options.streamName)) { - logger.error('The Stream Name is missing.'); - throw new Error('The Stream Name is missing.'); + const errorMessage = 'The Stream Name is missing.'; + logger.error(errorMessage); + throw new Error(errorMessage); } if (isNotDefined(options.streamAccountId)) { - logger.error('The Stream Account ID is missing.'); - throw new Error('The Stream Account ID is missing.'); + const errorMessage = 'The Stream Account ID is missing.'; + logger.error(errorMessage); + throw new Error(errorMessage); } super(logger, options.autoReconnect ?? true); @@ -201,7 +204,7 @@ export class Viewer extends BaseWebRTC { * } */ override async connect(options: ViewerConnectOptions = defaultConnectOptions): Promise { - this.options = { + this.connectOptions = { ...defaultConnectOptions, ...options, peerConfig: { ...defaultConnectOptions.peerConfig, ...options.peerConfig }, @@ -288,7 +291,7 @@ export class Viewer extends BaseWebRTC { } private async initConnection(data: { migrate: boolean }) { - this.logger.debug('Viewer connect options values: ', this.options); + this.logger.debug('Viewer connect options values: ', this.connectOptions); this.stopReconnection = false; let promises; @@ -302,11 +305,11 @@ export class Viewer extends BaseWebRTC { try { subscriberData = await this.getConnectionData(); // Set the iceServers from the subscribe data into the peerConfig - if (this.options?.peerConfig) { - this.options.peerConfig.iceServers = subscriberData?.iceServers; + if (this.connectOptions?.peerConfig) { + this.connectOptions.peerConfig.iceServers = subscriberData?.iceServers; // We should not set the encodedInsertableStreams if the DRM and the frame metadata are not enabled - this.options.peerConfig.encodedInsertableStreams = - supportsInsertableStreams && (this.options.enableDRM || this.options.metadata); + this.connectOptions.peerConfig.encodedInsertableStreams = + supportsInsertableStreams && (this.connectOptions.enableDRM || this.connectOptions.metadata); } } catch (error) { // TODO: handle DRM error when DRM is enabled but no subscribe token is provided @@ -344,19 +347,22 @@ export class Viewer extends BaseWebRTC { } const webRTCPeerInstance = data.migrate ? new PeerConnection() : this.webRTCPeer; - await webRTCPeerInstance.createRTCPeer(this.options?.peerConfig); + await webRTCPeerInstance.createRTCPeer(this.connectOptions?.peerConfig); // Stop emiting events from the previous instances this.stopReemitingWebRTCPeerInstanceEvents?.(); this.stopReemitingSignalingInstanceEvents?.(); // And start emitting from the new ones - this.stopReemitingWebRTCPeerInstanceEvents = reemit(webRTCPeerInstance, this, ['connectionStateChange']); + this.stopReemitingWebRTCPeerInstanceEvents = reemit(webRTCPeerInstance, this, [ + 'connectionStateChange', + 'stats', + ]); this.stopReemitingSignalingInstanceEvents = reemit(signalingInstance, this, [ 'viewercount', 'migrate', 'updated', ]); - if (this.options?.metadata) { + if (this.connectOptions?.metadata) { if (!this.worker) { this.worker = new TransformWorker(); } @@ -414,7 +420,7 @@ export class Viewer extends BaseWebRTC { this.isMainStreamActive = false; }); - const options = { ...(this.options as ViewerConnectOptions), stereo: true }; + const options = { ...(this.connectOptions as ViewerConnectOptions), stereo: true }; const getLocalSDPPromise = webRTCPeerInstance.getRTCLocalSDP(options); const signalingConnectPromise = signalingInstance.connect(); @@ -425,8 +431,8 @@ export class Viewer extends BaseWebRTC { this.signaling = signalingInstance; const subscribePromise = this.signaling.subscribe(localSdp, { - ...this.options, - vad: !!this.options?.multiplexedAudioTracks, + ...this.connectOptions, + vad: !!this.connectOptions?.multiplexedAudioTracks, } as ViewerConnectOptions); const setLocalDescriptionPromise = webRTCPeerInstance.peer?.setLocalDescription( webRTCPeerInstance.sessionDescription as RTCSessionDescriptionInit @@ -494,12 +500,12 @@ export class Viewer extends BaseWebRTC { this.logger.warn('mediaId not defined in track event'); } } - if (this.options?.metadata) { + if (this.connectOptions?.metadata) { if (supportsRTCRtpScriptTransform && this.worker) { trackEvent.receiver.transform = new RTCRtpScriptTransform(this.worker, { name: 'receiverTransform', payloadTypeCodec: { ...this.payloadTypeCodec }, - codec: this.options.metadata && VideoCodec.H264, + codec: this.connectOptions.metadata && VideoCodec.H264, mid: trackEvent.transceiver?.mid, }); } else if (supportsInsertableStreams) { @@ -509,7 +515,7 @@ export class Viewer extends BaseWebRTC { { action: 'insertable-streams-receiver', payloadTypeCodec: { ...this.payloadTypeCodec }, - codec: this.options.metadata && VideoCodec.H264, + codec: this.connectOptions.metadata && VideoCodec.H264, mid: trackEvent.transceiver?.mid, readable, writable, @@ -581,7 +587,7 @@ export class Viewer extends BaseWebRTC { const drmOptions: DrmConfig = { merchant: 'dolby', environment: rtcDrmEnvironments.Production, - customTransform: this.options?.metadata, + customTransform: this.connectOptions?.metadata, videoElement: options.videoElement, audioElement: options.audioElement, video: { diff --git a/packages/millicast-sdk/src/types/Publisher.types.ts b/packages/millicast-sdk/src/types/Publisher.types.ts index 618546f8..abeed4e7 100644 --- a/packages/millicast-sdk/src/types/Publisher.types.ts +++ b/packages/millicast-sdk/src/types/Publisher.types.ts @@ -2,10 +2,10 @@ import { PublisherServerEvent } from './BaseWebRTC.types'; import { VideoCodec } from './Codecs.types'; import { PeerConnectionConfig } from './PeerConnection.types'; /* eslint-disable @typescript-eslint/no-unused-vars */ -import PeerConnection from '../PeerConnection'; +import { PeerConnection } from '../PeerConnection'; /** - * Publisher Options + * Publisher Options. */ export interface PublisherOptions { /** @@ -28,69 +28,71 @@ export interface PublisherOptions { */ export interface PublishConnectOptions { /** - * - Source unique id. Only avialable if stream is multisource. + * Source unique id. Only avialable if stream is multisource. */ sourceId?: string | null; /** - * - True to modify SDP for support stereo. Otherwise False. + * True to modify SDP for support stereo. Otherwise False. */ stereo?: boolean; /** - * - True to modify SDP for supporting dtx in opus. Otherwise False. + * True to modify SDP for supporting dtx in opus. Otherwise False. */ dtx?: boolean; /** - * - True to modify SDP for supporting absolute capture time header extension. Otherwise False. + * True to modify SDP for supporting absolute capture time header extension. Otherwise False. */ absCaptureTime?: boolean; /** - * - True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. + * True to modify SDP for supporting aom dependency descriptor header extension. Otherwise False. */ dependencyDescriptor?: boolean; /** - * - MediaStream to offer in a stream. This object must have + * MediaStream to offer in a stream. This object must have * 1 audio track and 1 video track, or at least one of them. Alternative you can provide both tracks in an array. */ mediaStream: MediaStream | Array | null; /** - * - Broadcast bandwidth. 0 for unlimited. + * Broadcast bandwidth. 0 for unlimited. */ bandwidth?: number; /** - * - Enable metadata insertion. This feature is only supported with the H.264 codec. + * Enable metadata insertion. This feature is only supported with the H.264 codec. */ metadata?: boolean; /** - * - Number of audio tracks to receive VAD multiplexed audio for secondary sources. + * Number of audio tracks to receive VAD multiplexed audio for secondary sources. */ multiplexedAudioTracks?: number; /** - * - Disable the opportunity to send video stream. + * Disable the opportunity to send video stream. */ disableVideo?: boolean; /** - * - Disable the opportunity to send audio stream. + * Disable the opportunity to send audio stream. */ disableAudio?: boolean; /** - * - Codec for publish stream. + * Codec for publish stream. */ codec?: VideoCodec; /** - * - Enable simulcast. **Only available in Chromium based browsers with either the H.264 or VP8 video codec.** + * Enable simulcast. + * @remarks Only available in Chromium based browsers with either the H.264 or VP8 video codec. */ simulcast?: boolean; /** - * - Selected scalability mode. You can get the available capabilities using {@link PeerConnection.getCapabilities} method. - * **Only available in Google Chrome.** + * Selected scalability mode. You can get the available capabilities using {@link PeerConnection.getCapabilities} method. + * @remarks nly available in Google Chrome. */ scalabilityMode?: string | null; /** - * - Options to configure the new RTCPeerConnection. + * Options to configure the new RTCPeerConnection. */ peerConfig?: PeerConnectionConfig; /** - * - Enable stream recording. If record is not provided, use default Token configuration. **Only available in Tokens with recording enabled.** + * Enable stream recording. If record is not provided, use default Token configuration. + * @remarks Only available in Tokens with recording enabled. */ record?: boolean; /** @@ -98,15 +100,15 @@ export interface PublishConnectOptions { */ enableDRM?: boolean; /** - * - Specify which events will be delivered by the server (any of "active" | "inactive" | "viewercount").* + * Specify which events will be delivered by the server (any of "active" | "inactive" | "viewercount"). */ events?: PublisherServerEvent[]; /** - * - When multiple ingest streams are provided by the customer, add the ability to specify a priority between all ingest streams. Decimal integer between the range [-2^31, +2^31 - 1]. For more information, visit [our documentation](https://docs.dolby.io/streaming-apis/docs/backup-publishing). + * When multiple ingest streams are provided by the customer, add the ability to specify a priority between all ingest streams. + * Decimal integer between the range [-2^31, +2^31 - 1]. + * For more information, visit [our documentation](https://optiview.dolby.com/docs/millicast/broadcast/redundant-ingest/#4-set-priorities). */ priority?: number; - /** - * TODO - */ + /** */ setSDPToPeer?: boolean; } diff --git a/packages/millicast-sdk/src/types/events.ts b/packages/millicast-sdk/src/types/events.ts index 2db3f44f..eb9072e7 100644 --- a/packages/millicast-sdk/src/types/events.ts +++ b/packages/millicast-sdk/src/types/events.ts @@ -2,7 +2,7 @@ import { BaseWebRTC } from '../utils/BaseWebRTC'; import { Publisher } from '../Publisher'; import { Viewer } from '../Viewer'; -import PeerConnection from '../PeerConnection'; +import { PeerConnection } from '../PeerConnection'; import { PeerConnectionStats } from '../PeerConnectionStats'; import { Signaling } from '../Signaling'; import TransactionManager from 'transaction-manager'; @@ -15,7 +15,16 @@ import { ConnectionStats } from './stats.types'; * Events triggered by the {@link PeerConnectionStats} class. */ export interface PeerConnectionStatsEvents extends EmittedEvents { - /** Triggered when a new track is available. */ + /** + * Triggered when new WebRTC statistics are available. + * + * @example + * ```ts + * viewer.on('stats', (webRtcStats: ConnectionStats) => { + * console.log(webRtcStats); + * }); + * ``` + */ stats(webRtcStats: ConnectionStats): void; } @@ -87,14 +96,12 @@ export interface SignalingEvents extends EmittedEvents { /** * Events triggered by the {@link Viewer}, {@link Publisher} and {@link BaseWebRTC} classes. */ -export interface BaseWebRTCEvents extends EmittedEvents { +export interface BaseWebRTCEvents extends PeerConnectionStatsEvents { /** * Event triggered from time to time to indicate the number of viewers connected to the stream. * * @example * ```ts - * // TODO - * * viewer.on('viewercount', (count: number) => { * console.log(count, 'viewer(s) connected.'); * }); diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 684bf429..712a679b 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -1,5 +1,5 @@ import Logger from '../Logger'; -import PeerConnection from '../PeerConnection'; +import { PeerConnection } from '../PeerConnection'; import { Signaling } from '../Signaling'; import Diagnostics from './Diagnostics'; import { ILogger } from 'js-logger'; @@ -17,10 +17,13 @@ const nextReconnectInterval = (interval: number) => { return interval < maxReconnectionInterval ? interval * 2 : interval; }; +/** @hidden */ +export type ConnectOptions = PublishConnectOptions | ViewerConnectOptions; + /** * Base class for common actions about peer connection and reconnect mechanism for Publisher and Viewer instances. */ -export class BaseWebRTC extends TypedEventEmitter { +export class BaseWebRTC extends TypedEventEmitter { protected webRTCPeer: PeerConnection; protected signaling: Signaling | null; protected autoReconnect: boolean; @@ -29,7 +32,7 @@ export class BaseWebRTC extends TypedEventEmit private firstReconnection: boolean; protected stopReconnection: boolean; #isReconnecting: boolean; - protected options: ViewerConnectOptions | PublishConnectOptions | null; + protected connectOptions!: TConnectOptions; protected logger: ILogger; /** @@ -52,7 +55,6 @@ export class BaseWebRTC extends TypedEventEmit this.firstReconnection = true; this.stopReconnection = false; this.#isReconnecting = false; - this.options = null; } /** @@ -140,12 +142,12 @@ export class BaseWebRTC extends TypedEventEmit if (!this.isActive() && !this.stopReconnection && !this.#isReconnecting) { this.stop(); - (this as BaseWebRTC).emit('reconnect', { + (this as BaseWebRTC).emit('reconnect', { timeout: nextReconnectInterval(this.#reconnectionInterval), error: data?.error ? data?.error : new Error('Attempting to reconnect'), }); this.#isReconnecting = true; - await this.connect(this.options); + await this.connect(this.connectOptions); this.alreadyDisconnected = false; this.#reconnectionInterval = baseInterval; this.firstReconnection = true; @@ -164,7 +166,7 @@ export class BaseWebRTC extends TypedEventEmit /* tslint:disable:no-empty */ } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async connect(_options: unknown): Promise { + async connect(_options: TConnectOptions): Promise { /* tslint:disable:no-empty */ } diff --git a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js index 8efb9b8f..e8aba77a 100644 --- a/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js +++ b/packages/millicast-sdk/tests/unit/ChangeMediaTrack.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js index b2c4beaa..bb9d3f2e 100644 --- a/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js +++ b/packages/millicast-sdk/tests/unit/GetCapabilites.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' const feature = loadFeature('../features/GetCapabilities.feature', { loadRelativePath: true, errors: true }) diff --git a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js index 529c088f..d54e6919 100644 --- a/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js +++ b/packages/millicast-sdk/tests/unit/GetPeerStatus.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js index d07fe212..b6799f5d 100644 --- a/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js +++ b/packages/millicast-sdk/tests/unit/ManagePeerConnection.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { defaultConfig } from './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' const feature = loadFeature('../features/ManagePeerConnection.feature', { diff --git a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js index d795e427..022fe476 100644 --- a/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js +++ b/packages/millicast-sdk/tests/unit/PeerConnectionEvent.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import MockRTCPeerConnectionNoConnectionState from './__mocks__/MockRTCPeerConnectionNoConnectionState' diff --git a/packages/millicast-sdk/tests/unit/Publisher.steps.js b/packages/millicast-sdk/tests/unit/Publisher.steps.js index 78c7da24..7f446dba 100644 --- a/packages/millicast-sdk/tests/unit/Publisher.steps.js +++ b/packages/millicast-sdk/tests/unit/Publisher.steps.js @@ -1,6 +1,6 @@ import { loadFeature, defineFeature } from 'jest-cucumber' import { Publisher } from '../../src/Publisher' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import { Signaling } from '../../src/Signaling' import './__mocks__/MockRTCPeerConnection' import './__mocks__/MockMediaStream' diff --git a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js index 6af5f7c1..6358b6af 100644 --- a/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetLocalDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' diff --git a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js index ee0df820..6de1287b 100644 --- a/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js +++ b/packages/millicast-sdk/tests/unit/SetRemoteDescription.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection from '../../src/PeerConnection' +import { PeerConnection } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' const feature = loadFeature('../features/SetRemoteDescription.feature', { diff --git a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js index 3ae92940..f3357e7f 100644 --- a/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js +++ b/packages/millicast-sdk/tests/unit/UpdateBitrateWebRTC.steps.js @@ -1,5 +1,5 @@ import { loadFeature, defineFeature } from 'jest-cucumber' -import PeerConnection, { ConnectionType } from '../../src/PeerConnection' +import { PeerConnection, ConnectionType } from '../../src/PeerConnection' import './__mocks__/MockMediaStream' import './__mocks__/MockRTCPeerConnection' import { changeBrowserMock } from './__mocks__/MockBrowser' diff --git a/packages/millicast-viewer-demo/src/viewer.ts b/packages/millicast-viewer-demo/src/viewer.ts index 927bcaca..dd77e5fd 100644 --- a/packages/millicast-viewer-demo/src/viewer.ts +++ b/packages/millicast-viewer-demo/src/viewer.ts @@ -213,7 +213,7 @@ const subscribe = async () => { window.millicastView = millicastView = newViewer() await millicastView.connect(options) - millicastView.webRTCPeer.on('stats', (event) => { + millicastView.on('stats', (event) => { console.log(event) }) } catch (error) { diff --git a/typedoc.base.json b/typedoc.base.json index b9134844..11c619e7 100644 --- a/typedoc.base.json +++ b/typedoc.base.json @@ -1,6 +1,7 @@ { "$schema": "https://typedoc.org/schema.json", "navigationLinks": { + "Dolby OptiView": "https://optiview.dolby.com", "GitHub": "https://github.com/millicast/millicast-sdk", "NPM Package": "https://www.npmjs.com/package/@millicast/sdk" }, From 19c9a11c19b0edc5227b82d4a5e5f464b3d1ba00 Mon Sep 17 00:00:00 2001 From: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> Date: Tue, 22 Jul 2025 10:46:29 -0700 Subject: [PATCH 22/22] Update dependencies Signed-off-by: Fabien Lavocat <4154532+FabienLavocat@users.noreply.github.com> --- package-lock.json | 48631 ++++++++-------- package.json | 32 +- packages/millicast-sdk/package.json | 6 +- packages/millicast-sdk/src/Publisher.ts | 21 +- packages/millicast-sdk/src/Viewer.ts | 2 +- .../millicast-sdk/src/utils/BaseWebRTC.ts | 5 +- 6 files changed, 22896 insertions(+), 25801 deletions(-) diff --git a/package-lock.json b/package-lock.json index b3f47421..d302a820 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,26 +16,18 @@ "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", "@maslick/radiaslider": "^1.9.8", - "@nx/jest": "19.5.3", - "@nx/js": "19.5.3", - "@nx/vite": "21.2.2", - "@nx/web": "19.5.3", - "@nx/workspace": "19.5.3", + "@nx/jest": "^21.3.2", + "@nx/js": "^21.3.2", + "@nx/vite": "^21.3.2", + "@nx/web": "^21.3.2", + "@nx/workspace": "^21.3.2", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.2.0", - "@swc-node/register": "~1.9.1", - "@swc/core": "~1.5.7", - "@swc/helpers": "~0.5.11", - "@swc/jest": "~0.2.36", - "@types/jest": "^29.4.0", "@types/node": "^24.0.12", - "@types/ua-parser-js": "^0.7.39", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", - "clean-jsdoc-theme": "^4.2.17", - "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", "eslint": "^9.31.0", @@ -43,22 +35,18 @@ "eslint-plugin-jest": "^29.0.1", "eslint-plugin-n": "^17.21.0", "husky": "^4.3.8", - "install": "^0.13.0", - "jsdom": "~22.1.0", - "mock-socket": "^9.0.3", - "netlify-cli": "^22.2.2", + "jsdom": "~26.1.0", + "netlify-cli": "^22.3.0", "npm": "^11.4.2", - "nx": "21.2.2", + "nx": "^21.3.2", "prettier": "^3.6.2", "puppeteer": "^24.12.1", - "serve": "^14.2.1", - "swc-loader": "0.1.15", + "serve": "^14.2.4", "ts-jest": "^29.1.0", - "ts-node": "10.9.1", + "ts-node": "10.9.2", "typedoc": "^0.28.5", "typedoc-plugin-mdn-links": "^5.0.2", "typescript": "^5.8.3", - "underscore": "^1.13.1", "vite": "^6.0.0", "vite-plugin-dts": "^4.5.4", "vitest": "^3.0.0" @@ -173,27 +161,13 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -217,18 +191,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", "semver": "^6.3.1" }, "engines": { @@ -239,14 +213,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "regexpu-core": "^6.1.1", + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "engines": { @@ -257,17 +231,17 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -284,14 +258,14 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -330,13 +304,13 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -353,15 +327,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -371,15 +345,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -388,29 +362,15 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -447,15 +407,15 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -492,14 +452,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -509,13 +469,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -525,13 +485,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "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.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.27.1", + "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.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -541,15 +501,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -559,14 +519,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -576,15 +536,15 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.7.tgz", - "integrity": "sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-decorators": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -662,13 +622,13 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.7.tgz", - "integrity": "sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -678,13 +638,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -694,13 +654,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -895,13 +855,13 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -911,15 +871,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", - "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -929,15 +889,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -947,13 +907,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -963,13 +923,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -979,14 +939,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -996,14 +956,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", - "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1013,18 +973,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz", + "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1034,14 +994,14 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1051,13 +1011,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1067,14 +1028,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1084,13 +1045,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1100,14 +1061,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1117,13 +1078,30 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", - "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1133,14 +1111,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1150,13 +1127,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", - "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1166,14 +1143,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1183,15 +1160,15 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1201,13 +1178,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", - "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1217,13 +1194,13 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1233,13 +1210,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", - "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1249,13 +1226,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1265,14 +1242,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1282,15 +1259,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1300,16 +1276,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1319,14 +1295,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1336,14 +1312,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1353,13 +1329,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1369,13 +1345,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", - "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1385,13 +1361,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", - "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1401,15 +1377,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", - "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1419,14 +1397,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1436,13 +1414,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", - "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1452,14 +1430,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", - "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1469,13 +1447,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1485,14 +1463,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1502,15 +1480,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", - "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1520,13 +1498,13 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1536,14 +1514,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz", + "integrity": "sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1552,14 +1529,31 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1569,17 +1563,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz", - "integrity": "sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.0.tgz", + "integrity": "sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", "semver": "^6.3.1" }, "engines": { @@ -1590,13 +1584,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1606,14 +1600,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1623,13 +1617,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1639,13 +1633,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1655,13 +1649,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1671,17 +1665,17 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.7.tgz", - "integrity": "sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-typescript": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1691,13 +1685,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1707,14 +1701,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1724,14 +1718,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1741,14 +1735,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1758,79 +1752,81 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", - "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz", + "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.8", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.7", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.8", - "@babel/plugin-transform-async-to-generator": "^7.25.7", - "@babel/plugin-transform-block-scoped-functions": "^7.25.7", - "@babel/plugin-transform-block-scoping": "^7.25.7", - "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.8", - "@babel/plugin-transform-classes": "^7.25.7", - "@babel/plugin-transform-computed-properties": "^7.25.7", - "@babel/plugin-transform-destructuring": "^7.25.7", - "@babel/plugin-transform-dotall-regex": "^7.25.7", - "@babel/plugin-transform-duplicate-keys": "^7.25.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.8", - "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.8", - "@babel/plugin-transform-for-of": "^7.25.7", - "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.8", - "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", - "@babel/plugin-transform-member-expression-literals": "^7.25.7", - "@babel/plugin-transform-modules-amd": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-modules-systemjs": "^7.25.7", - "@babel/plugin-transform-modules-umd": "^7.25.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", - "@babel/plugin-transform-numeric-separator": "^7.25.8", - "@babel/plugin-transform-object-rest-spread": "^7.25.8", - "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.8", - "@babel/plugin-transform-optional-chaining": "^7.25.8", - "@babel/plugin-transform-parameters": "^7.25.7", - "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.8", - "@babel/plugin-transform-property-literals": "^7.25.7", - "@babel/plugin-transform-regenerator": "^7.25.7", - "@babel/plugin-transform-reserved-words": "^7.25.7", - "@babel/plugin-transform-shorthand-properties": "^7.25.7", - "@babel/plugin-transform-spread": "^7.25.7", - "@babel/plugin-transform-sticky-regex": "^7.25.7", - "@babel/plugin-transform-template-literals": "^7.25.7", - "@babel/plugin-transform-typeof-symbol": "^7.25.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.7", - "@babel/plugin-transform-unicode-property-regex": "^7.25.7", - "@babel/plugin-transform-unicode-regex": "^7.25.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.28.0", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.0", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -1856,17 +1852,17 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.25.7.tgz", - "integrity": "sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-syntax-jsx": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-typescript": "^7.25.7" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1920,9 +1916,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", - "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz", + "integrity": "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2126,20 +2122,20 @@ } }, "node_modules/@emnapi/core": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.4.tgz", - "integrity": "sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", "dev": true, "license": "MIT", "dependencies": { - "@emnapi/wasi-threads": "1.0.3", + "@emnapi/wasi-threads": "1.0.4", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz", - "integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", "dev": true, "license": "MIT", "dependencies": { @@ -2147,9 +2143,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.3.tgz", - "integrity": "sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", "dev": true, "license": "MIT", "dependencies": { @@ -2157,9 +2153,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", - "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", "cpu": [ "ppc64" ], @@ -2174,9 +2170,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", - "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", "cpu": [ "arm" ], @@ -2191,9 +2187,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", - "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", "cpu": [ "arm64" ], @@ -2208,9 +2204,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", - "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", "cpu": [ "x64" ], @@ -2225,9 +2221,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", - "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", "cpu": [ "arm64" ], @@ -2242,9 +2238,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", - "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", "cpu": [ "x64" ], @@ -2259,9 +2255,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", - "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", "cpu": [ "arm64" ], @@ -2276,9 +2272,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", - "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", "cpu": [ "x64" ], @@ -2293,9 +2289,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", - "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", "cpu": [ "arm" ], @@ -2310,9 +2306,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", - "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", "cpu": [ "arm64" ], @@ -2327,9 +2323,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", - "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", "cpu": [ "ia32" ], @@ -2344,9 +2340,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", - "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", "cpu": [ "loong64" ], @@ -2361,9 +2357,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", - "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", "cpu": [ "mips64el" ], @@ -2378,9 +2374,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", - "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", "cpu": [ "ppc64" ], @@ -2395,9 +2391,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", - "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", "cpu": [ "riscv64" ], @@ -2412,9 +2408,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", - "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", "cpu": [ "s390x" ], @@ -2429,9 +2425,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", - "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", "cpu": [ "x64" ], @@ -2446,9 +2442,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", - "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", "cpu": [ "arm64" ], @@ -2463,9 +2459,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", - "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", "cpu": [ "x64" ], @@ -2480,9 +2476,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", - "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", "cpu": [ "arm64" ], @@ -2497,9 +2493,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", - "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", "cpu": [ "x64" ], @@ -2514,9 +2510,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", - "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", "cpu": [ "arm64" ], @@ -2531,9 +2527,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", - "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", "cpu": [ "x64" ], @@ -2548,9 +2544,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", - "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", "cpu": [ "arm64" ], @@ -2565,9 +2561,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", - "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", "cpu": [ "ia32" ], @@ -2582,9 +2578,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", - "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", "cpu": [ "x64" ], @@ -2617,6 +2613,19 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", @@ -2642,6 +2651,30 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/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, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/config-helpers": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", @@ -2689,6 +2722,23 @@ "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, + "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/@eslint/eslintrc/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2696,17 +2746,15 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { @@ -2722,6 +2770,26 @@ "js-yaml": "bin/js-yaml.js" } }, + "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, + "license": "MIT" + }, + "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, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/js": { "version": "9.31.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", @@ -2746,9 +2814,9 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", - "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz", + "integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2760,16 +2828,16 @@ } }, "node_modules/@gerrit0/mini-shiki": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.6.0.tgz", - "integrity": "sha512-KaeJvPNofTEZR9EzVNp/GQzbQqkGfjiu6k3CXKvhVTX+8OoAKSX/k7qxLKOX3B0yh2XqVAc93rsOu48CGt2Qug==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.8.1.tgz", + "integrity": "sha512-HVZW+8pxoOExr5ZMPK15U79jQAZTO/S6i5byQyyZGjtNj+qaYd82cizTncwFzTQgiLo8uUBym6vh+/1tfJklTw==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^3.6.0", - "@shikijs/langs": "^3.6.0", - "@shikijs/themes": "^3.6.0", - "@shikijs/types": "^3.6.0", + "@shikijs/engine-oniguruma": "^3.8.1", + "@shikijs/langs": "^3.8.1", + "@shikijs/themes": "^3.8.1", + "@shikijs/types": "^3.8.1", "@shikijs/vscode-textmate": "^10.0.2" } }, @@ -2987,62 +3055,183 @@ } }, "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.5.tgz", + "integrity": "sha512-xY6b0XiL0Nav3ReresUarwl2oIz1gTnxGbGpho9/rbUWsLH0f1OD/VT84xs8c7VmH7MChnLb0pag6PhZhAdDiA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", + "@jest/types": "30.0.5", "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", + "chalk": "^4.1.2", + "jest-message-util": "30.0.5", + "jest-util": "30.0.5", "slash": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@jest/console/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/console/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "stack-utils": "^2.0.6" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/console/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.5.tgz", + "integrity": "sha512-fKD0OulvRsXF1hmaFgHhVJzczWzA1RXMMo9LTPuFXo9q/alDbME3JIyWYqovWsUBWSoBcsHaGPSLF9rz4l9Qeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.0.5", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.0.5", + "@jest/test-result": "30.0.5", + "@jest/transform": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.0.5", + "jest-config": "30.0.5", + "jest-haste-map": "30.0.5", + "jest-message-util": "30.0.5", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.5", + "jest-resolve-dependencies": "30.0.5", + "jest-runner": "30.0.5", + "jest-runtime": "30.0.5", + "jest-snapshot": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5", + "jest-watcher": "30.0.5", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -3053,17 +3242,126 @@ } } }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", - "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "node_modules/@jest/core/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/diff-sequences": { @@ -3093,19 +3391,19 @@ } }, "node_modules/@jest/environment-jsdom-abstract": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.4.tgz", - "integrity": "sha512-pUKfqgr5Nki9kZ/3iV+ubDsvtPq0a0oNL6zqkKLM1tPQI8FBJeuWskvW1kzc5pOvqlgpzumYZveJ4bxhANY0hg==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.5.tgz", + "integrity": "sha512-gpWwiVxZunkoglP8DCnT3As9x5O8H6gveAOpvaJd2ATAoSh7ZSSCWbr9LQtUMvr8WD3VjG9YnDhsmkCK5WN1rQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.0.4", - "@jest/fake-timers": "30.0.4", - "@jest/types": "30.0.1", + "@jest/environment": "30.0.5", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", "@types/jsdom": "^21.1.7", "@types/node": "*", - "jest-mock": "30.0.2", - "jest-util": "30.0.2" + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -3121,43 +3419,43 @@ } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/environment": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", - "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.0.4", - "@jest/types": "30.0.1", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", "@types/node": "*", - "jest-mock": "30.0.2" + "jest-mock": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/fake-timers": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", - "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", + "@jest/types": "30.0.5", "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", - "jest-message-util": "30.0.2", - "jest-mock": "30.0.2", - "jest-util": "30.0.2" + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/schemas": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", - "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { @@ -3168,14 +3466,14 @@ } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/@jest/types": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", - "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.1", + "@jest/schemas": "30.0.5", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", @@ -3233,19 +3531,19 @@ } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-message-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", - "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@jest/types": "30.0.1", + "@jest/types": "30.0.5", "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "micromatch": "^4.0.8", - "pretty-format": "30.0.2", + "pretty-format": "30.0.5", "slash": "^3.0.0", "stack-utils": "^2.0.6" }, @@ -3254,28 +3552,28 @@ } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-mock": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", - "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", + "@jest/types": "30.0.5", "@types/node": "*", - "jest-util": "30.0.2" + "jest-util": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/environment-jsdom-abstract/node_modules/jest-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", - "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", + "@jest/types": "30.0.5", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", @@ -3286,27 +3584,14 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/environment-jsdom-abstract/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@jest/environment-jsdom-abstract/node_modules/pretty-format": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", - "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.1", + "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" }, @@ -3315,17 +3600,17 @@ } }, "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.5.tgz", + "integrity": "sha512-6udac8KKrtTtC+AXZ2iUN/R7dp7Ydry+Fo6FPFnDG54wjVMnb6vW/XNlf7Xj8UDjAE3aAVAsR4KFyKk3TCXmTA==", "dev": true, "license": "MIT", "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" + "expect": "30.0.5", + "jest-snapshot": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect-utils": { @@ -3334,6 +3619,8 @@ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "jest-get-type": "^29.6.3" }, @@ -3341,1302 +3628,1236 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "node_modules/@jest/expect/node_modules/@jest/expect-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz", + "integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "@jest/get-type": "30.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/get-type": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz", - "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==", + "node_modules/@jest/expect/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "node_modules/@jest/expect/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/pattern": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", - "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "node_modules/@jest/expect/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-regex-util": "30.0.1" + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/expect/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=8" } }, - "node_modules/@jest/pattern/node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "node_modules/@jest/expect/node_modules/expect": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz", + "integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.0.5", + "@jest/get-type": "30.0.1", + "jest-matcher-utils": "30.0.5", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" + }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@jest/expect/node_modules/jest-diff": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz", + "integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "pretty-format": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@jest/expect/node_modules/jest-matcher-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz", + "integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==", "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "jest-diff": "30.0.5", + "pretty-format": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/snapshot-utils": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.4.tgz", - "integrity": "sha512-BEpX8M/Y5lG7MI3fmiO+xCnacOrVsnbqVrcDZIT8aSGkKV1w2WwvRQxSWw5SIS8ozg7+h8tSj5EO1Riqqxcdag==", + "node_modules/@jest/expect/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", - "natural-compare": "^1.4.0" + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/snapshot-utils/node_modules/@jest/schemas": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", - "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", + "node_modules/@jest/expect/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.34.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/snapshot-utils/node_modules/@jest/types": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", - "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "node_modules/@jest/expect/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.1", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", + "@jest/types": "30.0.5", "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/snapshot-utils/node_modules/@sinclair/typebox": { - "version": "0.34.38", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", - "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/@jest/expect/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/test-result": { + "node_modules/@jest/fake-timers": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "node_modules/@jest/get-type": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz", + "integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.5.tgz", + "integrity": "sha512-7oEJT19WW4oe6HR7oLRvHxwlJk2gev0U9px3ufs8sX9PoD1Eza68KF0/tlN7X0dq/WVsBScXQGgCldA1V9Y/jA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" + "@jest/environment": "30.0.5", + "@jest/expect": "30.0.5", + "@jest/types": "30.0.5", + "jest-mock": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@jest/globals/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@jest/globals/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "node_modules/@jest/globals/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@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==", - "dev": true, - "license": "MIT", + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=6.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "node_modules/@jest/globals/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "node_modules/@jest/globals/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/@jsdoc/salty": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz", - "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==", + "node_modules/@jest/globals/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "lodash": "^4.17.21" - }, + "license": "MIT", "engines": { - "node": ">=v12.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@maslick/radiaslider": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@maslick/radiaslider/-/radiaslider-1.9.8.tgz", - "integrity": "sha512-secrQgjDAZ+9QRQpnyXTW7JESsk+6CGoNC9OHj+ZvoUogtcjE43UFREZMj/bUtx8SkvVrlMoh1AX+C5icx3t9A==", + "node_modules/@jest/globals/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@microsoft/api-extractor": { - "version": "7.52.8", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.52.8.tgz", - "integrity": "sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==", + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor-model": "7.30.6", - "@microsoft/tsdoc": "~0.15.1", - "@microsoft/tsdoc-config": "~0.17.1", - "@rushstack/node-core-library": "5.13.1", - "@rushstack/rig-package": "0.5.3", - "@rushstack/terminal": "0.15.3", - "@rushstack/ts-command-line": "5.0.1", - "lodash": "~4.17.15", - "minimatch": "~3.0.3", - "resolve": "~1.22.1", - "semver": "~7.5.4", - "source-map": "~0.6.1", - "typescript": "5.8.2" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, - "bin": { - "api-extractor": "bin/api-extractor" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/api-extractor-model": { - "version": "7.30.6", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.30.6.tgz", - "integrity": "sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==", + "node_modules/@jest/globals/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "~0.15.1", - "@microsoft/tsdoc-config": "~0.17.1", - "@rushstack/node-core-library": "5.13.1" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@jest/globals/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "node_modules/@jest/globals/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": "*" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@types/node": "*", + "jest-regex-util": "30.0.1" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "node_modules/@jest/reporters": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.5.tgz", + "integrity": "sha512-mafft7VBX4jzED1FwGC1o/9QUM2xebzavImZMeqnsklgcyxBto8mV4HzNSzUrryJ+8R9MFOM3HgYuDradWR+4g==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.0.5", + "@jest/test-result": "30.0.5", + "@jest/transform": "30.0.5", + "@jest/types": "30.0.5", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.0.5", + "jest-util": "30.0.5", + "jest-worker": "30.0.5", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=14.17" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@microsoft/api-extractor/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/@microsoft/tsdoc": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz", - "integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@microsoft/tsdoc-config": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz", - "integrity": "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==", + "node_modules/@jest/reporters/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.15.1", - "ajv": "~8.12.0", - "jju": "~1.4.0", - "resolve": "~1.22.2" + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@jest/reporters/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/@millicast/sdk": { - "resolved": "packages/millicast-sdk", - "link": true - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", - "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "@emnapi/core": "^1.1.0", - "@emnapi/runtime": "^1.1.0", - "@tybys/wasm-util": "^0.9.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@jest/reporters/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@jest/reporters/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">= 8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-kd6eIQjWuFHdO14wVu0rzGtoPbO3EdYM/3gATOupxBzlqD+7dmkvv1Olbri9v598mDApXQNo8q81L2masTAhvg==", + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "19.5.3" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "brace-expansion": "^2.0.1" }, - "peerDependencies": { - "nx": ">= 17 <= 20" + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/reporters/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", - "cpu": [ - "x64" - ], + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, "engines": { - "node": ">= 10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", - "cpu": [ - "x64" - ], + "node_modules/@jest/snapshot-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.0.5.tgz", + "integrity": "sha512-XcCQ5qWHLvi29UUrowgDFvV4t7ETxX91CbDczMnoqXPOIcZOxyNdSjm6kV5XMc8+HkxfRegU/MUmnTbJRzGrUQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "dependencies": { + "@jest/types": "30.0.5", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", - "cpu": [ - "arm" - ], + "node_modules/@jest/snapshot-utils/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/snapshot-utils/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/snapshot-utils/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/source-map": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", - "cpu": [ - "x64" - ], + "node_modules/@jest/test-result": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.5.tgz", + "integrity": "sha512-wPyztnK0gbDMQAJZ43tdMro+qblDHH1Ru/ylzUo21TBKqt88ZqnKKK2m30LKmLLoKtR2lxdpCC/P3g1vfKcawQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@jest/console": "30.0.5", + "@jest/types": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", - "cpu": [ - "x64" - ], + "node_modules/@jest/test-result/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, "engines": { - "node": ">= 10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", - "cpu": [ - "x64" - ], + "node_modules/@jest/test-result/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } + "license": "MIT" }, - "node_modules/@nrwl/devkit/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@jest/test-sequencer": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.5.tgz", + "integrity": "sha512-Aea/G1egWoIIozmDD7PBXUOxkekXl7ueGzrsGGi1SbeKgQqCYCIf+wfbflEbf2LiPxL8j2JZGLyrzZagjvW4YQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nrwl/devkit/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" + "@jest/test-result": "30.0.5", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.5", + "slash": "^3.0.0" }, - "funding": { - "url": "https://dotenvx.com" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@jest/transform": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.5.tgz", + "integrity": "sha512-Vk8amLQCmuZyy6GbBht1Jfo9RSdBtg7Lks+B0PecnjI8J+PCLQPGh7uI8Q/2wwpW2gLdiAfiHNsmekKlywULqg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "@babel/core": "^7.27.4", + "@jest/types": "30.0.5", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.0", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.5", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.5", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" }, "engines": { - "node": ">=8.6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@jest/transform/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@nrwl/devkit/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/devkit/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "node_modules/@jest/transform/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@nrwl/devkit/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@jest/transform/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@nrwl/jest": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.5.3.tgz", - "integrity": "sha512-Y7xZnniVTi8Q53Q+qJhrDnZ4gCOyc+4BGmo8QX63McebyIFyuU0ZIAdfV6LlKq6heyXhbK7iFjMEc/v2nrx6TA==", + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@nx/jest": "19.5.3" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nrwl/js": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.5.3.tgz", - "integrity": "sha512-86qnph/V0uy1Qc5jO6z+MAdqW1kB1dOdKDTIAr0mauy23FMOmLUo5dr0UdG8HQKtF8k7ceEsycZdSlwXbC+ltQ==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/js": "19.5.3" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nrwl/tao": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.5.3.tgz", - "integrity": "sha512-SHtPlQi7zofDdbFjqcrTb/A0Mo9tT8S88H8nJa1+GzhKpGUB9rykHtq0qoYdiRBnQfmfR5LoKfe/jft61Ktvdg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "dev": true, "license": "MIT", "dependencies": { - "nx": "19.5.3", - "tslib": "^2.3.0" - }, - "bin": { - "tao": "index.js" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-darwin-arm64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.3.tgz", - "integrity": "sha512-DacVfnhx7wiglDXRAdbrmaP4s3ZQXMs8Mk0fGoQYjv1uwWajDOPxMYJUZH0CGysIDADSrku4AIqogGX/CZjSuQ==", - "cpu": [ - "arm64" - ], + "node_modules/@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==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10" + "node": ">=6.0.0" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-darwin-x64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.3.tgz", - "integrity": "sha512-AfY1g8nYJbBGiR2SDt/Q8YcQyuwtRmGxfJIrzCu+2+hFFds7RF9iaqeKedWeHN9wAsaTbDnBuDwwojT9LMOxaA==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/source-map": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz", + "integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-freebsd-x64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.3.tgz", - "integrity": "sha512-dWwxFs9bp67n/l1QhI41pSJk+mpwDNh7RY+WQBUldWbIyh8c4/wYk3VaqjALPCcGUky/RCME6rdLkqxFRAIs4A==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } + "license": "MIT" }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.3.tgz", - "integrity": "sha512-7l79OXwKVqnTr6/85mVPU+h3nnxGDAWgY6kTJNdmuaFlDgbHKbcNo9FFSu2srdqr1x84UsU49w8ZBJbdwA5YSg==", - "cpu": [ - "arm" - ], + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.3.tgz", - "integrity": "sha512-aFCuoUiEI20tGCxdUDO0JWCWli3RH0LPCXjnQ4H4pNMzT8zpvjvu+Js7FtwFG+NZWOdlmtiDlthnVAd+5ex6Wg==", - "cpu": [ - "arm64" - ], + "node_modules/@maslick/radiaslider": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@maslick/radiaslider/-/radiaslider-1.9.8.tgz", + "integrity": "sha512-secrQgjDAZ+9QRQpnyXTW7JESsk+6CGoNC9OHj+ZvoUogtcjE43UFREZMj/bUtx8SkvVrlMoh1AX+C5icx3t9A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@microsoft/api-extractor": { + "version": "7.52.8", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.52.8.tgz", + "integrity": "sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@microsoft/api-extractor-model": "7.30.6", + "@microsoft/tsdoc": "~0.15.1", + "@microsoft/tsdoc-config": "~0.17.1", + "@rushstack/node-core-library": "5.13.1", + "@rushstack/rig-package": "0.5.3", + "@rushstack/terminal": "0.15.3", + "@rushstack/ts-command-line": "5.0.1", + "lodash": "~4.17.15", + "minimatch": "~3.0.3", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "source-map": "~0.6.1", + "typescript": "5.8.2" + }, + "bin": { + "api-extractor": "bin/api-extractor" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.3.tgz", - "integrity": "sha512-gcjdlGvgQ4ahSfPpMw32cr7GrCYhr/58D1R/bbyem0QQg+EdLbLlhhdS2pAHBCoENfpSnknQZhMrUN1LR8Qmpw==", - "cpu": [ - "arm64" - ], + "node_modules/@microsoft/api-extractor-model": { + "version": "7.30.6", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.30.6.tgz", + "integrity": "sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@microsoft/tsdoc": "~0.15.1", + "@microsoft/tsdoc-config": "~0.17.1", + "@rushstack/node-core-library": "5.13.1" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.3.tgz", - "integrity": "sha512-Jwu6peOyaV9WTR1ihzfIIqEBYsbOSy0cH8H36ce17zpemq6l/Cz5EJ7blVXut1qksMFvC/QbkTWqTlfO5XEHIw==", - "cpu": [ - "x64" - ], + "node_modules/@microsoft/api-extractor/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-linux-x64-musl": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.3.tgz", - "integrity": "sha512-84KnkghjbInJAoWvCJB34lHq9iGCgo5KjcxUFZJFNDYTQh/VBTp/OhH8bFyPRwQTPVSToLeBhoFvGB1bqBekrA==", - "cpu": [ - "x64" - ], + "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.3.tgz", - "integrity": "sha512-q19m59cm+VTZzlHh+/dSHism7hgKfGHR+nW5xtxIF00rZQpJpv0ve7GVvyXPFw7NXvceYRK1THes1MljYXyslQ==", - "cpu": [ - "arm64" - ], + "node_modules/@microsoft/api-extractor/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 10" + "node": "*" } }, - "node_modules/@nrwl/tao/node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.3.tgz", - "integrity": "sha512-DOdO7K6ySiwrXsnJNjJXxng427n5+nXIDt4L81ltCdr6oE8wUiUpRTt1dfl65rHknojB/b1at3V6+x450F0/2A==", - "cpu": [ - "x64" - ], + "node_modules/@microsoft/api-extractor/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nrwl/tao/node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "node_modules/@microsoft/api-extractor/node_modules/typescript": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.15.0" + "node": ">=14.17" } }, - "node_modules/@nrwl/tao/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@microsoft/api-extractor/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz", + "integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@microsoft/tsdoc-config": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz", + "integrity": "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@microsoft/tsdoc": "0.15.1", + "ajv": "~8.12.0", + "jju": "~1.4.0", + "resolve": "~1.22.2" } }, - "node_modules/@nrwl/tao/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "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": { - "url": "https://dotenvx.com" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@nrwl/tao/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@millicast/sdk": { + "resolved": "packages/millicast-sdk", + "link": true + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=8.6" + "node": ">= 8" } }, - "node_modules/@nrwl/tao/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "node_modules/@nrwl/tao/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 8" } }, - "node_modules/@nrwl/tao/node_modules/nx": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.3.tgz", - "integrity": "sha512-ZUrnRwPdRWXeo8IuLj16Oo9IfiDjd8C6xKWC4F6wcTNZ9ZS7ZErrfqaQr04zdO89ASF9brbkqm0UkMyDPc6kPQ==", + "node_modules/@nx/eslint": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-21.3.2.tgz", + "integrity": "sha512-pMCxdNVbQydqmXYQqc3E7xGFHYFGeCaUoID8elAjfD+d38u1Xp2tb81bPVoLhd5MivNzRwdovT7ynsafEhIcLw==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@nrwl/tao": "19.5.3", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.6.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", + "@nx/devkit": "21.3.2", + "@nx/js": "21.3.2", "semver": "^7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", "tslib": "^2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.5.3", - "@nx/nx-darwin-x64": "19.5.3", - "@nx/nx-freebsd-x64": "19.5.3", - "@nx/nx-linux-arm-gnueabihf": "19.5.3", - "@nx/nx-linux-arm64-gnu": "19.5.3", - "@nx/nx-linux-arm64-musl": "19.5.3", - "@nx/nx-linux-x64-gnu": "19.5.3", - "@nx/nx-linux-x64-musl": "19.5.3", - "@nx/nx-win32-arm64-msvc": "19.5.3", - "@nx/nx-win32-x64-msvc": "19.5.3" + "typescript": "~5.8.2" }, "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0" }, "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { + "@zkochan/js-yaml": { "optional": true } } }, - "node_modules/@nrwl/tao/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nrwl/web": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.5.3.tgz", - "integrity": "sha512-vhl4otgWCCEgZngrQkKAOoC7AhKc6fpP+OPApWHB5f3derw9wbYHT6HraejYLUeKzgnn/QkBH/IM7xEK1dr+nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/web": "19.5.3" - } - }, - "node_modules/@nrwl/workspace": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.5.3.tgz", - "integrity": "sha512-ZMVira0WARcwqcyteSBjk5OU4LDwRwAyM4Rl1E+inP01u0xIrk9FLre2e5USI4kMUGNZ9uRoffHpvGsXz1m3JQ==", + "node_modules/@nx/eslint-plugin": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-21.3.2.tgz", + "integrity": "sha512-BPnT0d1eLdIptYGobmJm9z165KlY03ATnNdUCe+yoQ7pCZLiGwLWmylX65keNmTK9PYDDkTafkpWiCvEv2K6fQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/workspace": "19.5.3" + "@nx/devkit": "21.3.2", + "@nx/js": "21.3.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "@typescript-eslint/type-utils": "^8.0.0", + "@typescript-eslint/utils": "^8.0.0", + "chalk": "^4.1.0", + "confusing-browser-globals": "^1.0.9", + "globals": "^15.9.0", + "jsonc-eslint-parser": "^2.1.0", + "semver": "^7.5.3", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.13.2 || ^7.0.0 || ^8.0.0", + "eslint-config-prettier": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/@nx/devkit": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.2.tgz", - "integrity": "sha512-fBeFY8wW9cb6AWjPGNZVa8nhYpDVu1hDPirxy+Z0Uxe3uo6BfwP9ZrUVIj99yGi2accEcvNx0ccygaa0aPzKng==", + "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", "dev": true, "license": "MIT", "dependencies": { @@ -4650,49 +4871,56 @@ "yargs-parser": "21.1.1" }, "peerDependencies": { - "nx": "21.2.2" + "nx": "21.3.2" } }, - "node_modules/@nx/devkit/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@nx/eslint-plugin/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nx/devkit/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@nx/eslint-plugin/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8.6" + "node": ">=10" } }, - "node_modules/@nx/devkit/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nx/eslint/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "nx": "21.3.2" } }, - "node_modules/@nx/devkit/node_modules/semver": { + "node_modules/@nx/eslint/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", @@ -4705,62 +4933,66 @@ "node": ">=10" } }, - "node_modules/@nx/eslint": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-21.2.3.tgz", - "integrity": "sha512-Lr/4FeeNhBIR3pPrENHUtyWtoBKiztaDilNodzizSiXVp32mCL1sPc5UYr5n8BpqAtDT6yK7jF7Pn+YvVD688w==", + "node_modules/@nx/jest": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-21.3.2.tgz", + "integrity": "sha512-38G/JSJWPSqHeUavOZFyes1noyc7UK0Y9yzbFOi46W6OCby+vzCAvIx8L7I2fuE22ar4+Yj5VgXQXWUwxP5rXA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.3", - "@nx/js": "21.2.3", + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@nx/devkit": "21.3.2", + "@nx/js": "21.3.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "identity-obj-proxy": "3.0.0", + "jest-config": "^30.0.2", + "jest-resolve": "^30.0.2", + "jest-util": "^30.0.2", + "minimatch": "9.0.3", + "picocolors": "^1.1.0", + "resolve.exports": "2.0.3", "semver": "^7.5.3", "tslib": "^2.3.0", - "typescript": "~5.8.2" - }, - "peerDependencies": { - "@zkochan/js-yaml": "0.0.7", - "eslint": "^8.0.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "@zkochan/js-yaml": { - "optional": true - } + "yargs-parser": "21.1.1" } }, - "node_modules/@nx/eslint-plugin": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-21.2.3.tgz", - "integrity": "sha512-UryMWwgRYCjCLgqexhv6aQBMnKxJyVlN58Gp6Oa/2/2P/vMnIPjwbI58pZL1D1Se6HL14NKxmVu2KkX6Bf9R1w==", + "node_modules/@nx/jest/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.3", - "@nx/js": "21.2.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "@typescript-eslint/type-utils": "^8.0.0", - "@typescript-eslint/utils": "^8.0.0", - "chalk": "^4.1.0", - "confusing-browser-globals": "^1.0.9", - "globals": "^15.9.0", - "jsonc-eslint-parser": "^2.1.0", - "semver": "^7.5.3", - "tslib": "^2.3.0" + "@sinclair/typebox": "^0.34.0" }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.13.2 || ^7.0.0 || ^8.0.0", - "eslint-config-prettier": "^10.0.0" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@nx/jest/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/devkit": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.3.tgz", - "integrity": "sha512-H5Hk0qeZwqhxQmqcWaLpMc+otU4TroUzDYoV6kFpZdvcwGnXQKHCuGzZoI18kh9wPXvKFmb1BWmr9as3lHUw3Q==", + "node_modules/@nx/jest/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", "dev": true, "license": "MIT", "dependencies": { @@ -4774,13 +5006,67 @@ "yargs-parser": "21.1.1" }, "peerDependencies": { - "nx": "21.2.3" + "nx": "21.3.2" + } + }, + "node_modules/@nx/jest/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/jest/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/jest/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@nx/jest/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/js": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.3.tgz", - "integrity": "sha512-9uA+j924UoarVJFLH6iy+PMnTWgrBM3XfjSpjThDwdJ4ffhop8NcED51sO/qUs68py93NxuY6Ud0qSSu8G5I+A==", + "node_modules/@nx/js": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.3.2.tgz", + "integrity": "sha512-W2xB0F75ujJLlTu//FMAXNpWwiDYJmaP+WCXdW7rnCq9xatE0gtF/UhGp4xObD+aOc9xBsQOi0IeilA4SvmAjg==", "dev": true, "license": "MIT", "dependencies": { @@ -4791,8 +5077,8 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nx/devkit": "21.2.3", - "@nx/workspace": "21.2.3", + "@nx/devkit": "21.3.2", + "@nx/workspace": "21.3.2", "@zkochan/js-yaml": "0.0.7", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^3.1.0", @@ -4823,10 +5109,50 @@ } } }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-arm64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.3.tgz", - "integrity": "sha512-5WgOjoX4vqG286A8abYoLCScA2ZF5af/2ZBjaM5EHypgbJLGQuMcP2ahzX66FYohT4wdAej1D0ILkEax71fAKw==", + "node_modules/@nx/js/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": "21.3.2" + } + }, + "node_modules/@nx/js/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/js/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.3.2.tgz", + "integrity": "sha512-HMW4iDmTJNN4vJaql77IeQ91DSbZ1qMB5+8GDNCwHibcgEhTE9u82ErfLlpfq0lvg8EommGOcUM3seEdMTEOUQ==", "cpu": [ "arm64" ], @@ -4837,10 +5163,10 @@ "darwin" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-darwin-x64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.3.tgz", - "integrity": "sha512-aSaK8Ic9nHTwSuNZZtaKCPIXgD6+Ss9UwkNMIXPLYiYLF+EdSDORHnHutmajZZ8HakoWCQPWvxfWv30zre6iqw==", + "node_modules/@nx/nx-darwin-x64": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.3.2.tgz", + "integrity": "sha512-PyNcTT1Yaeq6xjLzxE1EVCAxcBacps7AZKBT4GGUB+NKLlA8oxTBzqUmQlg61rxWmiJ7ELYY6SzHX+7YH0kGwA==", "cpu": [ "x64" ], @@ -4851,10 +5177,10 @@ "darwin" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-freebsd-x64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.3.tgz", - "integrity": "sha512-hFSbtaYM1gL+XQq88CkmwqeeabmFsLjpsBF+HFIv1UMAjb02ObrYHVVICmmin5c1NkBsEJcQzh3mf8PBSOHW8A==", + "node_modules/@nx/nx-freebsd-x64": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.3.2.tgz", + "integrity": "sha512-BYkccbz5/PUu7BaB7TcXeSiLe1HzTZCT5q5kkLp0Z3OUJFG1YrSR+a+ktP29H9pzdYvjCqIeTvRw0Y5epdtfmg==", "cpu": [ "x64" ], @@ -4865,10 +5191,10 @@ "freebsd" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.3.tgz", - "integrity": "sha512-yRzt8dLwTpRP7655We9/ol+Ol+n52R9wsRRnxJFdWHyLrHguZF0dqiZ5rAFFzyvywaDP6CRoPuS7wqFT7K14bw==", + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.3.2.tgz", + "integrity": "sha512-mdHXshxXegYbpmN6w+hkEXu2ieXaN2qmNygF8nF/hgJ2Q4JiS+DJ2G6QEajxrpA/cmMC6VoDnnux+fYb6PipZQ==", "cpu": [ "arm" ], @@ -4879,10 +5205,10 @@ "linux" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.3.tgz", - "integrity": "sha512-5u8mmUogvrNn1xlJk8Y6AJg/g1h2bKxYSyWfxR2mazKj5wI/VgbHuxHAgMXB7WDW2tK5bEcrUTvO8V0DjZQhNA==", + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.3.2.tgz", + "integrity": "sha512-PsCZC3emzGKMM+7n8Qsp7RsP6v3qwAwmBZncgBUNq1QMg9VrFrsKfMcZtJdwkdMzK3jQwHn20nSM8TMO5/aLsQ==", "cpu": [ "arm64" ], @@ -4893,10 +5219,10 @@ "linux" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-arm64-musl": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.3.tgz", - "integrity": "sha512-4huuq2iuCBOWmJQw60gk5g3yjeHxFzwdDZJPM0680fZ7Pa/haPwamkR6kE2U6aFtFMhi1QVGPEoj4v4vE4ZS5g==", + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.3.2.tgz", + "integrity": "sha512-lA/fNora74mBFSQp6HG4FfOkoUBnAfraF7Cc9TR4Z50lZDgXFMPf0Gn4Qdvpphl3ydmsU8bXmzu/ckHWJwuELA==", "cpu": [ "arm64" ], @@ -4907,10 +5233,10 @@ "linux" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-gnu": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.3.tgz", - "integrity": "sha512-qWpJXpF8vjOrZTkgSC8kQAnIh0pIFbsisePicYWj5U9szJYyTUvVbjMAvdUPH4Z3bnrUtt+nzf9mpFCJRLjsOQ==", + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.3.2.tgz", + "integrity": "sha512-gpBmox+M9vmUDJppp8nY73RgpHU9QJE201Ey+YBbgEn+TSaFwkxdwqmsJGnysqNpUU9I6VWEd3bFcEZNczTHWA==", "cpu": [ "x64" ], @@ -4921,10 +5247,10 @@ "linux" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-linux-x64-musl": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.3.tgz", - "integrity": "sha512-JZHlovF9uzvN3blImysYJmG90/8ookr3jOmEFxmP4RfMUl6EdN9yBLBdx0zIG2ulh7+WQrR3eQ1qrmsWFb6oiw==", + "node_modules/@nx/nx-linux-x64-musl": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.3.2.tgz", + "integrity": "sha512-QOQiEKotsIb6u3J4KQlfqfQFy6PXfJe56sCeoQAYuRUMXCiuTPr+Z2V43v1UcAZOu4beDEcP+saRN7EucsWeHA==", "cpu": [ "x64" ], @@ -4935,10 +5261,10 @@ "linux" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.3.tgz", - "integrity": "sha512-8Q1ljgFle6F2ZGSe6dLBItSdvYXjO0n2ovZI0zIih9+5OGLdN8wf6iONQJT7he2YST1dowIDPNWdeKiuOzPo6w==", + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.3.2.tgz", + "integrity": "sha512-LaZhp+LmO0nd2BLV40BlFkKBQWPUwcNje98B7v1/mvHhE1M6r8pMSgRuHGJXcolaWAoOiJJXhGor84zn5UiYRw==", "cpu": [ "arm64" ], @@ -4949,10 +5275,10 @@ "win32" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/nx-win32-x64-msvc": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.3.tgz", - "integrity": "sha512-qJpHIZU/D48+EZ2bH02/LIFIkANYryGbcbNQUqC+pYA8ZPCU0wMqZVn4UcNMoI9K4YtXe/SvSBdjiObDuRb8yw==", + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.3.2.tgz", + "integrity": "sha512-efIYgmjiNbthAbsXv5cG6C4kUOlvNIbCtHQo5GkVRcoeoGrLYbE8tJobeP+hEujBseK628rG8yI7Q9calT803g==", "cpu": [ "x64" ], @@ -4963,235 +5289,147 @@ "win32" ] }, - "node_modules/@nx/eslint-plugin/node_modules/@nx/workspace": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.3.tgz", - "integrity": "sha512-bC3J6pgXvL9JWyYmP7AOGCIZhtI6vmY1YLan1T+FFkSr7yyKvIwnnL9E68whQD5jcbJl1Mvu9l0lVlsVdQYF/g==", + "node_modules/@nx/vite": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-21.3.2.tgz", + "integrity": "sha512-h9CdI6veDidbaQ0WpJ0N1YJZMq2ondaqgEhaHLL0Tiv+qJ1fmQ7EaT54neCsrXaw+D/vFUmo0JaCy0ArEWUpGQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.3", - "@zkochan/js-yaml": "0.0.7", - "chalk": "^4.1.0", + "@nx/devkit": "21.3.2", + "@nx/js": "21.3.2", + "@phenomnomnominal/tsquery": "~5.0.1", + "@swc/helpers": "~0.5.0", + "ajv": "^8.0.0", "enquirer": "~2.3.6", - "nx": "21.2.3", "picomatch": "4.0.2", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } - }, - "node_modules/@nx/eslint-plugin/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, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "semver": "^7.6.3", + "tsconfig-paths": "^4.1.2" }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vitest": "^1.3.1 || ^2.0.0 || ^3.0.0" } }, - "node_modules/@nx/eslint-plugin/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/@nx/vite/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", "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" + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "nx": "21.3.2" } }, - "node_modules/@nx/eslint-plugin/node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/@nx/vite/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://dotenvx.com" + "engines": { + "node": ">=10" } }, - "node_modules/@nx/eslint-plugin/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@nx/web": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-21.3.2.tgz", + "integrity": "sha512-r3DHEE17SqifqfIetTvYkfbMe8lPpa06gJN8SR7ESsmcX7vOKJHkkh9GkKonvvhDXKTjq1ub3l2Vo4be6yGb3A==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "@nx/devkit": "21.3.2", + "@nx/js": "21.3.2", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "picocolors": "^1.1.0", + "tslib": "^2.3.0" } }, - "node_modules/@nx/eslint-plugin/node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "node_modules/@nx/web/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "nx": "21.3.2" } }, - "node_modules/@nx/eslint-plugin/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/eslint-plugin/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nx/web/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/@nx/eslint-plugin/node_modules/nx": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.3.tgz", - "integrity": "sha512-2wL/2fSmIbRWn6zXaQ/g3kj5DfEaTw/aJkPr6ozJh8BUq5iYKE+tS9oh0PjsVVwN6Pybe80Lu+mn9RgWyeV3xw==", + "node_modules/@nx/workspace": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.3.2.tgz", + "integrity": "sha512-qz9oZcxEs9rTttdyyq4haF8dilz1oZLshqBRDmwQItCCRnTIaAl09T7Z5F2ZD68DP4ZmFvyzJleRZTEXvj12uA==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", + "@nx/devkit": "21.3.2", "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", + "nx": "21.3.2", + "picomatch": "4.0.2", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/workspace/node_modules/@nx/devkit": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.3.2.tgz", + "integrity": "sha512-9OgECr93fcFVl5zwZMliCqLxVYhioY+fgBedup3xtedwNi9MEGvhx7NwchipI/FRrVG5av6T2jrry4ydhZMtPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", "tmp": "~0.2.1", - "tree-kill": "^1.2.2", - "tsconfig-paths": "^4.1.2", "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", "yargs-parser": "21.1.1" }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "21.2.3", - "@nx/nx-darwin-x64": "21.2.3", - "@nx/nx-freebsd-x64": "21.2.3", - "@nx/nx-linux-arm-gnueabihf": "21.2.3", - "@nx/nx-linux-arm64-gnu": "21.2.3", - "@nx/nx-linux-arm64-musl": "21.2.3", - "@nx/nx-linux-x64-gnu": "21.2.3", - "@nx/nx-linux-x64-musl": "21.2.3", - "@nx/nx-win32-arm64-msvc": "21.2.3", - "@nx/nx-win32-x64-msvc": "21.2.3" - }, "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "nx": "21.3.2" } }, - "node_modules/@nx/eslint-plugin/node_modules/semver": { + "node_modules/@nx/workspace/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", @@ -5204,76 +5442,235 @@ "node": ">=10" } }, - "node_modules/@nx/eslint/node_modules/@nx/devkit": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-21.2.3.tgz", - "integrity": "sha512-H5Hk0qeZwqhxQmqcWaLpMc+otU4TroUzDYoV6kFpZdvcwGnXQKHCuGzZoI18kh9wPXvKFmb1BWmr9as3lHUw3Q==", + "node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", "dev": true, "license": "MIT", "dependencies": { - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "esquery": "^1.4.0" }, "peerDependencies": { - "nx": "21.2.3" + "typescript": "^3 || ^4 || ^5" } }, - "node_modules/@nx/eslint/node_modules/@nx/js": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.3.tgz", - "integrity": "sha512-9uA+j924UoarVJFLH6iy+PMnTWgrBM3XfjSpjThDwdJ4ffhop8NcED51sO/qUs68py93NxuY6Ud0qSSu8G5I+A==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nx/devkit": "21.2.3", - "@nx/workspace": "21.2.3", - "@zkochan/js-yaml": "0.0.7", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "jsonc-parser": "3.2.0", - "npm-package-arg": "11.0.1", - "npm-run-path": "^4.0.1", - "ora": "5.3.0", - "picocolors": "^1.1.0", - "picomatch": "4.0.2", - "semver": "^7.5.3", - "source-map-support": "0.5.19", - "tinyglobby": "^0.2.12", - "tslib": "^2.3.0" + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@puppeteer/browsers": { + "version": "2.10.6", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.6.tgz", + "integrity": "sha512-pHUn6ZRt39bP3698HFQlu2ZHCkS/lPcpv7fVQcGBSzNNygw171UXAKrCUhy+TEMw4lEttOKDgNpb04hwUAJeiQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.4.1", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.5.0", + "semver": "^7.7.2", + "tar-fs": "^3.1.0", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@puppeteer/browsers/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" }, "peerDependencies": { - "verdaccio": "^6.0.5" + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" }, "peerDependenciesMeta": { - "verdaccio": { + "@types/babel__core": { "optional": true } } }, - "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-arm64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.3.tgz", - "integrity": "sha512-5WgOjoX4vqG286A8abYoLCScA2ZF5af/2ZBjaM5EHypgbJLGQuMcP2ahzX66FYohT4wdAej1D0ILkEax71fAKw==", + "node_modules/@rollup/plugin-commonjs": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz", + "integrity": "sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^2.30.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "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" + } + }, + "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, + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/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, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", + "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", + "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", + "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", "cpu": [ "arm64" ], @@ -5284,10 +5681,10 @@ "darwin" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-darwin-x64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.3.tgz", - "integrity": "sha512-aSaK8Ic9nHTwSuNZZtaKCPIXgD6+Ss9UwkNMIXPLYiYLF+EdSDORHnHutmajZZ8HakoWCQPWvxfWv30zre6iqw==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", + "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", "cpu": [ "x64" ], @@ -5298,10 +5695,24 @@ "darwin" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-freebsd-x64": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.3.tgz", - "integrity": "sha512-hFSbtaYM1gL+XQq88CkmwqeeabmFsLjpsBF+HFIv1UMAjb02ObrYHVVICmmin5c1NkBsEJcQzh3mf8PBSOHW8A==", + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", + "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", + "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", "cpu": [ "x64" ], @@ -5312,10 +5723,10 @@ "freebsd" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.3.tgz", - "integrity": "sha512-yRzt8dLwTpRP7655We9/ol+Ol+n52R9wsRRnxJFdWHyLrHguZF0dqiZ5rAFFzyvywaDP6CRoPuS7wqFT7K14bw==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", + "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", "cpu": [ "arm" ], @@ -5326,12 +5737,12 @@ "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.3.tgz", - "integrity": "sha512-5u8mmUogvrNn1xlJk8Y6AJg/g1h2bKxYSyWfxR2mazKj5wI/VgbHuxHAgMXB7WDW2tK5bEcrUTvO8V0DjZQhNA==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", + "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", @@ -5340,10 +5751,10 @@ "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-arm64-musl": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.3.tgz", - "integrity": "sha512-4huuq2iuCBOWmJQw60gk5g3yjeHxFzwdDZJPM0680fZ7Pa/haPwamkR6kE2U6aFtFMhi1QVGPEoj4v4vE4ZS5g==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", + "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", "cpu": [ "arm64" ], @@ -5354,12 +5765,12 @@ "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-gnu": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.3.tgz", - "integrity": "sha512-qWpJXpF8vjOrZTkgSC8kQAnIh0pIFbsisePicYWj5U9szJYyTUvVbjMAvdUPH4Z3bnrUtt+nzf9mpFCJRLjsOQ==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", + "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", @@ -5368,12 +5779,12 @@ "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-linux-x64-musl": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.3.tgz", - "integrity": "sha512-JZHlovF9uzvN3blImysYJmG90/8ookr3jOmEFxmP4RfMUl6EdN9yBLBdx0zIG2ulh7+WQrR3eQ1qrmsWFb6oiw==", + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", + "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", "cpu": [ - "x64" + "loong64" ], "dev": true, "license": "MIT", @@ -5382,255 +5793,203 @@ "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.3.tgz", - "integrity": "sha512-8Q1ljgFle6F2ZGSe6dLBItSdvYXjO0n2ovZI0zIih9+5OGLdN8wf6iONQJT7he2YST1dowIDPNWdeKiuOzPo6w==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", + "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", "cpu": [ - "arm64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/nx-win32-x64-msvc": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.3.tgz", - "integrity": "sha512-qJpHIZU/D48+EZ2bH02/LIFIkANYryGbcbNQUqC+pYA8ZPCU0wMqZVn4UcNMoI9K4YtXe/SvSBdjiObDuRb8yw==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", + "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", "cpu": [ - "x64" + "riscv64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "linux" ] }, - "node_modules/@nx/eslint/node_modules/@nx/workspace": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.3.tgz", - "integrity": "sha512-bC3J6pgXvL9JWyYmP7AOGCIZhtI6vmY1YLan1T+FFkSr7yyKvIwnnL9E68whQD5jcbJl1Mvu9l0lVlsVdQYF/g==", + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", + "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nx/devkit": "21.2.3", - "@zkochan/js-yaml": "0.0.7", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "21.2.3", - "picomatch": "4.0.2", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/eslint/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==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", + "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/eslint/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", + "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/eslint/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", + "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", + "cpu": [ + "x64" + ], "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" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/eslint/node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", + "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@nx/eslint/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", + "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@nx/eslint/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", + "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@nx/eslint/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", "dev": true, "license": "MIT" }, - "node_modules/@nx/eslint/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/eslint/node_modules/nx": { - "version": "21.2.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.3.tgz", - "integrity": "sha512-2wL/2fSmIbRWn6zXaQ/g3kj5DfEaTw/aJkPr6ozJh8BUq5iYKE+tS9oh0PjsVVwN6Pybe80Lu+mn9RgWyeV3xw==", + "node_modules/@rushstack/node-core-library": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.13.1.tgz", + "integrity": "sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tree-kill": "^1.2.2", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "21.2.3", - "@nx/nx-darwin-x64": "21.2.3", - "@nx/nx-freebsd-x64": "21.2.3", - "@nx/nx-linux-arm-gnueabihf": "21.2.3", - "@nx/nx-linux-arm64-gnu": "21.2.3", - "@nx/nx-linux-arm64-musl": "21.2.3", - "@nx/nx-linux-x64-gnu": "21.2.3", - "@nx/nx-linux-x64-musl": "21.2.3", - "@nx/nx-win32-arm64-msvc": "21.2.3", - "@nx/nx-win32-x64-msvc": "21.2.3" + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" }, "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "@types/node": "*" }, "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { + "@types/node": { "optional": true } } }, - "node_modules/@nx/eslint/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@rushstack/node-core-library/node_modules/ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@nx/eslint/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { "node": ">=10" } }, - "node_modules/@nx/eslint/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@rushstack/node-core-library/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -5638,1398 +5997,1016 @@ "node": ">=10" } }, - "node_modules/@nx/jest": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.5.3.tgz", - "integrity": "sha512-hd+G8mgCKkmtmCGMxkpwUxvzyi2v0TjGqr6rmUAFUqv6gE+z9TIehQbbrFI17FiWcF7bLpSE1Xtm7Mu9Pc0fUA==", + "node_modules/@rushstack/node-core-library/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@rushstack/rig-package": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", + "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", "dev": true, "license": "MIT", "dependencies": { - "@jest/reporters": "^29.4.1", - "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "chalk": "^4.1.0", - "identity-obj-proxy": "3.0.0", - "jest-config": "^29.4.1", - "jest-resolve": "^29.4.1", - "jest-util": "^29.4.1", - "minimatch": "9.0.3", - "resolve.exports": "1.1.0", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "resolve": "~1.22.1", + "strip-json-comments": "~3.1.1" } }, - "node_modules/@nx/jest/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "node_modules/@rushstack/terminal": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.3.tgz", + "integrity": "sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "@rushstack/node-core-library": "5.13.1", + "supports-color": "~8.1.1" }, "peerDependencies": { - "nx": ">= 17 <= 20" + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@nx/jest/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", - "cpu": [ - "arm64" - ], + "node_modules/@rushstack/terminal/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", - "cpu": [ - "x64" - ], + "node_modules/@rushstack/ts-command-line": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.0.1.tgz", + "integrity": "sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@rushstack/terminal": "0.15.3", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", - "cpu": [ - "x64" - ], + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.8.1.tgz", + "integrity": "sha512-KGQJZHlNY7c656qPFEQpIoqOuC4LrxjyNndRdzk5WKB/Ie87+NJCF1xo9KkOUxwxylk7rT6nhlZyTGTC4fCe1g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@shikijs/types": "3.8.1", + "@shikijs/vscode-textmate": "^10.0.2" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", - "cpu": [ - "arm" - ], + "node_modules/@shikijs/langs": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.8.1.tgz", + "integrity": "sha512-TjOFg2Wp1w07oKnXjs0AUMb4kJvujML+fJ1C5cmEj45lhjbUXtziT1x2bPQb9Db6kmPhkG5NI2tgYW1/DzhUuQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@shikijs/types": "3.8.1" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", - "cpu": [ - "arm64" - ], + "node_modules/@shikijs/themes": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.8.1.tgz", + "integrity": "sha512-Vu3t3BBLifc0GB0UPg2Pox1naTemrrvyZv2lkiSw3QayVV60me1ujFQwPZGgUTmwXl1yhCPW8Lieesm0CYruLQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@shikijs/types": "3.8.1" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", - "cpu": [ - "arm64" - ], + "node_modules/@shikijs/types": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.8.1.tgz", + "integrity": "sha512-5C39Q8/8r1I26suLh+5TPk1DTrbY/kn3IdWA5HdizR0FhlhD05zx5nKCqhzSfDHH3p4S0ZefxWd77DLV+8FhGg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", - "cpu": [ - "x64" - ], + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" - } + "license": "MIT" }, - "node_modules/@nx/jest/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", - "cpu": [ - "x64" - ], + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">= 10" + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@nx/jest/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", - "cpu": [ - "arm64" - ], + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } + "license": "BSD-3-Clause" }, - "node_modules/@nx/jest/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", - "cpu": [ - "x64" - ], + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">= 10" - } + "license": "BSD-3-Clause" }, - "node_modules/@nx/jest/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "MIT" }, - "node_modules/@nx/jest/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/@nx/jest/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@nx/jest/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@swc-node/core": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz", + "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@nx/jest/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "optional": true, + "peer": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@swc/core": ">= 1.4.13", + "@swc/types": ">= 0.1" } }, - "node_modules/@nx/jest/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "node_modules/@swc-node/register": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.9.2.tgz", + "integrity": "sha512-BBjg0QNuEEmJSoU/++JOXhrjWdu3PTyYeJWsvchsI0Aqtj8ICkz/DqlwtXbmZVZ5vuDPpTfFlwDBZe81zgShMA==", "dev": true, - "hasInstallScript": true, "license": "MIT", + "optional": true, "peer": true, "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" + "@swc-node/core": "^1.13.1", + "@swc-node/sourcemap-support": "^0.5.0", + "colorette": "^2.0.20", + "debug": "^4.3.4", + "pirates": "^4.0.6", + "tslib": "^2.6.2" }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" }, "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "@swc/core": ">= 1.4.13", + "typescript": ">= 4.3" } }, - "node_modules/@nx/jest/node_modules/nx/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "node_modules/@swc-node/sourcemap-support": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz", + "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==", "dev": true, "license": "MIT", + "optional": true, "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "source-map-support": "^0.5.21", + "tslib": "^2.6.3" } }, - "node_modules/@nx/jest/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@swc-node/sourcemap-support/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/@nx/js": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.5.3.tgz", - "integrity": "sha512-NcL3RicE5b+nvnAQkz2rVDMIcmM62o98SqIF6SmPaevJxMu+2YhlSU4p6btrFDDl3gSvQkhvVAoAsRpb3s1nJQ==", + "node_modules/@swc/core": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.29.tgz", + "integrity": "sha512-nvTtHJI43DUSOAf3h9XsqYg8YXKc0/N4il9y4j0xAkO0ekgDNo+3+jbw6MInawjKJF9uulyr+f5bAutTsOKVlw==", "dev": true, - "license": "MIT", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/workspace": "19.5.3", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^2.8.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "fast-glob": "3.2.7", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "minimatch": "9.0.3", - "npm-package-arg": "11.0.1", - "npm-run-path": "^4.0.1", - "ora": "5.3.0", - "semver": "^7.5.3", - "source-map-support": "0.5.19", - "ts-node": "10.9.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.8" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.5.29", + "@swc/core-darwin-x64": "1.5.29", + "@swc/core-linux-arm-gnueabihf": "1.5.29", + "@swc/core-linux-arm64-gnu": "1.5.29", + "@swc/core-linux-arm64-musl": "1.5.29", + "@swc/core-linux-x64-gnu": "1.5.29", + "@swc/core-linux-x64-musl": "1.5.29", + "@swc/core-win32-arm64-msvc": "1.5.29", + "@swc/core-win32-ia32-msvc": "1.5.29", + "@swc/core-win32-x64-msvc": "1.5.29" }, "peerDependencies": { - "verdaccio": "^5.0.4" + "@swc/helpers": "*" }, "peerDependenciesMeta": { - "verdaccio": { + "@swc/helpers": { "optional": true } } }, - "node_modules/@nx/js/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 17 <= 20" - } - }, - "node_modules/@nx/js/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", + "node_modules/@swc/core-darwin-arm64": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.29.tgz", + "integrity": "sha512-6F/sSxpHaq3nzg2ADv9FHLi4Fu2A8w8vP8Ich8gIl16D2htStlwnaPmCLjRswO+cFkzgVqy/l01gzNGWd4DFqA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", + "node_modules/@swc/core-darwin-x64": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.29.tgz", + "integrity": "sha512-rF/rXkvUOTdTIfoYbmszbSUGsCyvqACqy1VeP3nXONS+LxFl4bRmRcUTRrblL7IE5RTMCKUuPbqbQSE2hK7bqg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.29.tgz", + "integrity": "sha512-2OAPL8iWBsmmwkjGXqvuUhbmmoLxS1xNXiMq87EsnCNMAKohGc7wJkdAOUL6J/YFpean/vwMWg64rJD4pycBeg==", "cpu": [ - "x64" + "arm" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ - "freebsd" + "linux" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.29.tgz", + "integrity": "sha512-eH/Q9+8O5qhSxMestZnhuS1xqQMr6M7SolZYxiXJqxArXYILLCF+nq2R9SxuMl0CfjHSpb6+hHPk/HXy54eIRA==", "cpu": [ - "arm" + "arm64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.29.tgz", + "integrity": "sha512-TERh2OICAJz+SdDIK9+0GyTUwF6r4xDlFmpoiHKHrrD/Hh3u+6Zue0d7jQ/he/i80GDn4tJQkHlZys+RZL5UZg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.29.tgz", + "integrity": "sha512-WMDPqU7Ji9dJpA+Llek2p9t7pcy7Bob8ggPUvgsIlv3R/eesF9DIzSbrgl6j3EAEPB9LFdSafsgf6kT/qnvqFg==", "cpu": [ - "arm64" + "x64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.29.tgz", + "integrity": "sha512-DO14glwpdKY4POSN0201OnGg1+ziaSVr6/RFzuSLggshwXeeyVORiHv3baj7NENhJhWhUy3NZlDsXLnRFkmhHQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.29.tgz", + "integrity": "sha512-V3Y1+a1zG1zpYXUMqPIHEMEOd+rHoVnIpO/KTyFwAmKVu8v+/xPEVx/AGoYE67x4vDAAvPQrKI3Aokilqa5yVg==", "cpu": [ - "x64" + "arm64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ - "linux" + "win32" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.29.tgz", + "integrity": "sha512-OrM6yfXw4wXhnVFosOJzarw0Fdz5Y0okgHfn9oFbTPJhoqxV5Rdmd6kXxWu2RiVKs6kGSJFZXHDeUq2w5rTIMg==", "cpu": [ - "arm64" + "ia32" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.29.tgz", + "integrity": "sha512-eD/gnxqKyZQQR0hR7TMkIlJ+nCF9dzYmVVNbYZWuA1Xy94aBPUsEk3Uw3oG7q6R3ErrEUPP0FNf2ztEnv+I+dw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" ], "peer": true, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@nx/js/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "Apache-2.0", + "optional": true, + "peer": true }, - "node_modules/@nx/js/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" } }, - "node_modules/@nx/js/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@swc/types": { + "version": "0.1.23", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.23.tgz", + "integrity": "sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "@swc/counter": "^0.1.3" } }, - "node_modules/@nx/js/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@nx/js/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT" }, - "node_modules/@nx/js/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/@nx/js/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@nx/js/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "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, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-21.2.2.tgz", - "integrity": "sha512-qDF1SHW9UYzFQBRA3MGLYDPCU/j1ACasAdjv5kMXXBtmg+1WC3mZ/KO84wXJE7j9ImXOPKm9dmiW63LfXteXZw==", - "cpu": [ - "arm64" - ], + "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, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "MIT" }, - "node_modules/@nx/nx-darwin-x64": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-21.2.2.tgz", - "integrity": "sha512-gdxOcfGonAD+eM5oKKd+2rcrGWmJOfON5HJpLkDfgOO/vyb6FUQub3xUu/JB2RAJ4r6iW/8JZxzheFDIiHDEug==", - "cpu": [ - "x64" - ], + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "tslib": "^2.4.0" + } }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-21.2.2.tgz", - "integrity": "sha512-uO+k4AXGchOlzsoE3uljBKYlI84hv15R2CcLfXjbwrIw+0YZOIeZ/pDYNZMpOy1HePTuCVUxaYQCEBO7N2PI3w==", - "cpu": [ - "x64" - ], + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "license": "MIT" }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-21.2.2.tgz", - "integrity": "sha512-7ZaZKJNqQvvXs66GYdvY7kJoZ3wFnaIamjdlFYtH+5oQdCTqRTHb9HsB0/q6pf5nEDCEW/FJkXszKgCfViDZLA==", - "cpu": [ - "arm" - ], + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-21.2.2.tgz", - "integrity": "sha512-M1YuraXtzYTm/HXDAUWN7e009lWFTvpFF1Z38f7IuB07u76ARw1Fb/BcjVYHwt65QR70AcM7MQ5Fpq7PThHPkw==", - "cpu": [ - "arm64" - ], + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/types": "^7.0.0" + } }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-21.2.2.tgz", - "integrity": "sha512-raXkg8uijQFOgfKadUzwkFetyFb5pQbY0u6aLz0o9Eq5ml82B8ODrHwZdj2YLVNx2bB2Y0nq6R6HeYQRB94xIQ==", - "cpu": [ - "arm64" - ], + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-21.2.2.tgz", - "integrity": "sha512-je6D2kG8jCB72QVrYRXs4xRrU2g2zQREqODt+s1zI2lWlMDJcBwxDxGtlxXM3mDyeUGCh2s9nlkrA0GCTin1LQ==", - "cpu": [ - "x64" - ], + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@babel/types": "^7.20.7" + } }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-21.2.2.tgz", - "integrity": "sha512-ZDCNM0iBACq5Wgb1+JY20jMMRmxQKIDAoCrkxMciSAjh5s/1fGOboqWmKoztwW5g9QPJs/GdOojWbesu4B42eg==", - "cpu": [ - "x64" - ], + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@types/deep-eql": "*" + } }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-21.2.2.tgz", - "integrity": "sha512-jQRWpp2i5yAYD0FcZWZu6HMVxPWGEEa1DAf9wn7gHsORCehYH91GeOeVmaXcsPEg56uN+QhJhpIRIcDE5Ob4kw==", - "cpu": [ - "arm64" - ], + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-21.2.2.tgz", - "integrity": "sha512-qBrVdqYVRV1KQFyRtQbtic/R5ByH9F0kZJoQM3hSmcHgbg2s2+v9ivnaik4L6iX8FbAoCjYYm+J8L42yuOgCJA==", - "cpu": [ - "x64" - ], + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@nx/vite": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/vite/-/vite-21.2.2.tgz", - "integrity": "sha512-lGtRUFSUGg717bdn6AUh2cOdPzBU7mxlM3qPgRBylEsZ7gtrVyojehWF1gxKP4mXoKXhIUOtmiCWd5XIf3jf0w==", + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "21.2.2", - "@nx/js": "21.2.2", - "@phenomnomnominal/tsquery": "~5.0.1", - "@swc/helpers": "~0.5.0", - "ajv": "^8.0.0", - "enquirer": "~2.3.6", - "picomatch": "4.0.2", - "semver": "^7.6.3", - "tsconfig-paths": "^4.1.2" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vitest": "^1.3.1 || ^2.0.0 || ^3.0.0" + "@types/node": "*" } }, - "node_modules/@nx/vite/node_modules/@nx/js": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-21.2.2.tgz", - "integrity": "sha512-mwDHfNRynPTZBQY+EwTaY6nKJrzem4soI84iGDU9XQiLfBdZwjo27UzLsqYVWsDanhmVt7FtNBmpluSpWw/h8g==", + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nx/devkit": "21.2.2", - "@nx/workspace": "21.2.2", - "@zkochan/js-yaml": "0.0.7", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "jsonc-parser": "3.2.0", - "npm-package-arg": "11.0.1", - "npm-run-path": "^4.0.1", - "ora": "5.3.0", - "picocolors": "^1.1.0", - "picomatch": "4.0.2", - "semver": "^7.5.3", - "source-map-support": "0.5.19", - "tinyglobby": "^0.2.12", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "verdaccio": "^6.0.5" - }, - "peerDependenciesMeta": { - "verdaccio": { - "optional": true - } + "@types/unist": "*" } }, - "node_modules/@nx/vite/node_modules/@nx/workspace": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-21.2.2.tgz", - "integrity": "sha512-Q/EJgc+QOyFjNcAmMw6zn6BRdoKxaWvrl/WDyiG3vwcmnUCdFlT+KRZ6ux7cVXMEVLLpQIHStxyS3sdGpXl6HA==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, - "license": "MIT", - "dependencies": { - "@nx/devkit": "21.2.2", - "@zkochan/js-yaml": "0.0.7", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "21.2.2", - "picomatch": "4.0.2", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } + "license": "MIT" }, - "node_modules/@nx/vite/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@nx/vite/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==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@nx/vite/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@nx/vite/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/@nx/vite/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@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, "license": "MIT" }, - "node_modules/@nx/vite/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "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, "license": "MIT" }, - "node_modules/@nx/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@types/node": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@nx/vite/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "undici-types": "~7.8.0" } }, - "node_modules/@nx/vite/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/@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, - "license": "ISC", - "engines": { - "node": ">= 6" - } + "license": "MIT" }, - "node_modules/@nx/web": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.5.3.tgz", - "integrity": "sha512-4uq57zrjxplTB7nyLZY05iIOH6tXR55cP/lpj9nWhrMFZluybanaEExe+3a/y0bnn13Le5sg1TXpvapUQYH8tg==", + "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, "license": "MIT", "dependencies": { - "@nrwl/web": "19.5.3", - "@nx/devkit": "19.5.3", - "@nx/js": "19.5.3", - "chalk": "^4.1.0", - "detect-port": "^1.5.1", - "http-server": "^14.1.0", - "tslib": "^2.3.0" + "@types/node": "*" } }, - "node_modules/@nx/web/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 17 <= 20" - } + "license": "MIT" }, - "node_modules/@nx/web/node_modules/@nx/nx-darwin-arm64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.8.2.tgz", - "integrity": "sha512-t+bmCn6sRPNGU6hnSyWNvbQYA/KgsxGZKYlaCLRwkNhI2akModcBUqtktJzCKd1XHDqs6EkEFBWjFr8/kBEkSg==", - "cpu": [ - "arm64" - ], + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/@nx/web/node_modules/@nx/nx-darwin-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.8.2.tgz", - "integrity": "sha512-pt/wmDLM31Es8/EzazlyT5U+ou2l60rfMNFGCLqleHEQ0JUTc0KWnOciBLbHIQFiPsCQZJFEKyfV5V/ncePmmw==", - "cpu": [ - "x64" - ], + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@types/node": "*" } }, - "node_modules/@nx/web/node_modules/@nx/nx-freebsd-x64": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.8.2.tgz", - "integrity": "sha512-joZxFbgJfkHkB9uMIJr73Gpnm9pnpvr0XKGbWC409/d2x7q1qK77tKdyhGm+A3+kaZFwstNVPmCUtUwJYyU6LA==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.38.0.tgz", + "integrity": "sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.38.0", + "@typescript-eslint/type-utils": "8.38.0", + "@typescript-eslint/utils": "8.38.0", + "@typescript-eslint/visitor-keys": "8.38.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.38.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.8.2.tgz", - "integrity": "sha512-98O/qsxn4vIMPY/FyzvmVrl7C5yFhCUVk0/4PF+PA2SvtQ051L1eMRY6bq/lb69qfN6szJPZ41PG5mPx0NeLZw==", - "cpu": [ - "arm" - ], + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, "engines": { - "node": ">= 10" + "node": ">= 4" } }, - "node_modules/@nx/web/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.8.2.tgz", - "integrity": "sha512-h6a+HxwfSpxsi4KpxGgPh9GDBmD2E+XqGCdfYpobabxqEBvlnIlJyuDhlRR06cTWpuNXHpRdrVogmV6m/YbtDg==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/parser": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.38.0.tgz", + "integrity": "sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.38.0", + "@typescript-eslint/types": "8.38.0", + "@typescript-eslint/typescript-estree": "8.38.0", + "@typescript-eslint/visitor-keys": "8.38.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.8.2.tgz", - "integrity": "sha512-4Ev+jM0VAxDHV/dFgMXjQTCXS4I8W4oMe7FSkXpG8RUn6JK659DC8ExIDPoGIh+Cyqq6r6mw1CSia+ciQWICWQ==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/project-service": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.38.0.tgz", + "integrity": "sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.38.0", + "@typescript-eslint/types": "^8.38.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.8.2.tgz", - "integrity": "sha512-nR0ev+wxu+nQYRd7bhqggOxK7UfkV6h+Ko1mumUFyrM5GvPpz/ELhjJFSnMcOkOMcvH0b6G5uTBJvN1XWCkbmg==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz", + "integrity": "sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "dependencies": { + "@typescript-eslint/types": "8.38.0", + "@typescript-eslint/visitor-keys": "8.38.0" + }, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@nx/web/node_modules/@nx/nx-linux-x64-musl": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.8.2.tgz", - "integrity": "sha512-ost41l5yc2aq2Gc9bMMpaPi/jkXqbXEMEPHrxWKuKmaek3K2zbVDQzvBBNcQKxf/mlCsrqN4QO0mKYSRRqag5A==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.38.0.tgz", + "integrity": "sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.8.2.tgz", - "integrity": "sha512-0SEOqT/daBG5WtM9vOGilrYaAuf1tiALdrFavY62+/arXYxXemUKmRI5qoKDTnvoLMBGkJs6kxhMO5b7aUXIvQ==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/type-utils": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.38.0.tgz", + "integrity": "sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, + "dependencies": { + "@typescript-eslint/types": "8.38.0", + "@typescript-eslint/typescript-estree": "8.38.0", + "@typescript-eslint/utils": "8.38.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.8.2.tgz", - "integrity": "sha512-iIsY+tVqes/NOqTbJmggL9Juie/iaDYlWgXA9IUv88FE9thqWKhVj4/tCcPjsOwzD+1SVna3YISEEFsx5UV4ew==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/types": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.38.0.tgz", + "integrity": "sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, "engines": { - "node": ">= 10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@nx/web/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz", + "integrity": "sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@nx/web/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, + "@typescript-eslint/project-service": "8.38.0", + "@typescript-eslint/tsconfig-utils": "8.38.0", + "@typescript-eslint/types": "8.38.0", + "@typescript-eslint/visitor-keys": "8.38.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://dotenvx.com" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/web/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">=8.6" + "node": ">=8.6.0" } }, - "node_modules/@nx/web/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", - "peer": true + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/@nx/web/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { @@ -7042,91 +7019,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@nx/web/node_modules/nx": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-20.8.2.tgz", - "integrity": "sha512-mDKpbH3vEpUFDx0rrLh+tTqLq1PYU8KiD/R7OVZGd1FxQxghx2HOl32MiqNsfPcw6AvKlXhslbwIESV+N55FLQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "20.8.2", - "@nx/nx-darwin-x64": "20.8.2", - "@nx/nx-freebsd-x64": "20.8.2", - "@nx/nx-linux-arm-gnueabihf": "20.8.2", - "@nx/nx-linux-arm64-gnu": "20.8.2", - "@nx/nx-linux-arm64-musl": "20.8.2", - "@nx/nx-linux-x64-gnu": "20.8.2", - "@nx/nx-linux-x64-musl": "20.8.2", - "@nx/nx-win32-arm64-msvc": "20.8.2", - "@nx/nx-win32-x64-msvc": "20.8.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/@nx/web/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/web/node_modules/semver": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", @@ -7139,47 +7032,87 @@ "node": ">=10" } }, - "node_modules/@nx/workspace": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.5.3.tgz", - "integrity": "sha512-nGBN8R/eGVYGHphSAYAXGjyuQx1/Fb27hoGATTop9LBxbzA0QnokRN95Vx9/UFMCJU3Mf5GlXD+x6vCbrRSWug==", + "node_modules/@typescript-eslint/utils": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.38.0.tgz", + "integrity": "sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/workspace": "19.5.3", - "@nx/devkit": "19.5.3", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "19.5.3", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.38.0", + "@typescript-eslint/types": "8.38.0", + "@typescript-eslint/typescript-estree": "8.38.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@nx/workspace/node_modules/@nx/devkit": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.5.3.tgz", - "integrity": "sha512-OUi8OJkoT+y3LwXACO6ugF9l6QppUyHrBIZYOTffBa1ZrnkpJrw03smy+GhAt+BDoeNGEuOPHGvOSV4AmRxnmg==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.38.0.tgz", + "integrity": "sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/devkit": "19.5.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "@typescript-eslint/types": "8.38.0", + "eslint-visitor-keys": "^4.2.1" }, - "peerDependencies": { - "nx": ">= 17 <= 20" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@nx/workspace/node_modules/@nx/nx-darwin-arm64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.3.tgz", - "integrity": "sha512-DacVfnhx7wiglDXRAdbrmaP4s3ZQXMs8Mk0fGoQYjv1uwWajDOPxMYJUZH0CGysIDADSrku4AIqogGX/CZjSuQ==", + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", "cpu": [ "arm64" ], @@ -7188,15 +7121,12 @@ "optional": true, "os": [ "darwin" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-darwin-x64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.3.tgz", - "integrity": "sha512-AfY1g8nYJbBGiR2SDt/Q8YcQyuwtRmGxfJIrzCu+2+hFFds7RF9iaqeKedWeHN9wAsaTbDnBuDwwojT9LMOxaA==", + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", "cpu": [ "x64" ], @@ -7205,15 +7135,12 @@ "optional": true, "os": [ "darwin" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-freebsd-x64": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.3.tgz", - "integrity": "sha512-dWwxFs9bp67n/l1QhI41pSJk+mpwDNh7RY+WQBUldWbIyh8c4/wYk3VaqjALPCcGUky/RCME6rdLkqxFRAIs4A==", + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", "cpu": [ "x64" ], @@ -7222,15 +7149,12 @@ "optional": true, "os": [ "freebsd" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.3.tgz", - "integrity": "sha512-7l79OXwKVqnTr6/85mVPU+h3nnxGDAWgY6kTJNdmuaFlDgbHKbcNo9FFSu2srdqr1x84UsU49w8ZBJbdwA5YSg==", + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", "cpu": [ "arm" ], @@ -7239,32 +7163,26 @@ "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.3.tgz", - "integrity": "sha512-aFCuoUiEI20tGCxdUDO0JWCWli3RH0LPCXjnQ4H4pNMzT8zpvjvu+Js7FtwFG+NZWOdlmtiDlthnVAd+5ex6Wg==", + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.3.tgz", - "integrity": "sha512-gcjdlGvgQ4ahSfPpMw32cr7GrCYhr/58D1R/bbyem0QQg+EdLbLlhhdS2pAHBCoENfpSnknQZhMrUN1LR8Qmpw==", + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", "cpu": [ "arm64" ], @@ -7273,66 +7191,82 @@ "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.3.tgz", - "integrity": "sha512-Jwu6peOyaV9WTR1ihzfIIqEBYsbOSy0cH8H36ce17zpemq6l/Cz5EJ7blVXut1qksMFvC/QbkTWqTlfO5XEHIw==", + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-linux-x64-musl": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.3.tgz", - "integrity": "sha512-84KnkghjbInJAoWvCJB34lHq9iGCgo5KjcxUFZJFNDYTQh/VBTp/OhH8bFyPRwQTPVSToLeBhoFvGB1bqBekrA==", + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", "cpu": [ - "x64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.3.tgz", - "integrity": "sha512-q19m59cm+VTZzlHh+/dSHism7hgKfGHR+nW5xtxIF00rZQpJpv0ve7GVvyXPFw7NXvceYRK1THes1MljYXyslQ==", + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", "cpu": [ - "arm64" + "riscv64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/workspace/node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.3.tgz", - "integrity": "sha512-DOdO7K6ySiwrXsnJNjJXxng427n5+nXIDt4L81ltCdr6oE8wUiUpRTt1dfl65rHknojB/b1at3V6+x450F0/2A==", + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", "cpu": [ "x64" ], @@ -7340,685 +7274,527 @@ "license": "MIT", "optional": true, "os": [ - "win32" + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" ], - "engines": { - "node": ">= 10" - } + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@nx/workspace/node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "@napi-rs/wasm-runtime": "^0.2.11" }, "engines": { - "node": ">=14.15.0" + "node": ">=14.0.0" } }, - "node_modules/@nx/workspace/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "balanced-match": "^1.0.0" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, - "node_modules/@nx/workspace/node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@nx/workspace/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@nx/workspace/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@nx/workspace/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/vitest" } }, - "node_modules/@nx/workspace/node_modules/nx": { - "version": "19.5.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.5.3.tgz", - "integrity": "sha512-ZUrnRwPdRWXeo8IuLj16Oo9IfiDjd8C6xKWC4F6wcTNZ9ZS7ZErrfqaQr04zdO89ASF9brbkqm0UkMyDPc6kPQ==", + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@nrwl/tao": "19.5.3", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.6.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.5.3", - "@nx/nx-darwin-x64": "19.5.3", - "@nx/nx-freebsd-x64": "19.5.3", - "@nx/nx-linux-arm-gnueabihf": "19.5.3", - "@nx/nx-linux-arm64-gnu": "19.5.3", - "@nx/nx-linux-arm64-musl": "19.5.3", - "@nx/nx-linux-x64-gnu": "19.5.3", - "@nx/nx-linux-x64-musl": "19.5.3", - "@nx/nx-win32-arm64-msvc": "19.5.3", - "@nx/nx-win32-x64-msvc": "19.5.3" + "funding": { + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { - "@swc-node/register": { + "msw": { "optional": true }, - "@swc/core": { + "vite": { "optional": true } } }, - "node_modules/@nx/workspace/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@vitest/mocker/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@phenomnomnominal/tsquery": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", - "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "license": "MIT", "dependencies": { - "esquery": "^1.4.0" - }, - "peerDependencies": { - "typescript": "^3 || ^4 || ^5" + "@types/estree": "^1.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@vitest/mocker/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/@pkgr/core": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", - "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "dependencies": { + "tinyrainbow": "^2.0.0" }, "funding": { - "url": "https://opencollective.com/pkgr" + "url": "https://opencollective.com/vitest" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@puppeteer/browsers": { - "version": "2.10.5", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", - "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "debug": "^4.4.1", - "extract-zip": "^2.0.1", - "progress": "^2.0.3", - "proxy-agent": "^6.5.0", - "semver": "^7.7.2", - "tar-fs": "^3.0.8", - "yargs": "^17.7.2" - }, - "bin": { - "browsers": "lib/cjs/main-cli.js" + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" }, - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@puppeteer/browsers/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/@vitest/snapshot/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "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 - } + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz", - "integrity": "sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==", + "node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 8.0.0" + "tinyspy": "^4.0.3" }, - "peerDependencies": { - "rollup": "^2.30.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "node_modules/@vitest/ui": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", + "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.0.8" + "@vitest/utils": "3.2.4", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.1", + "tinyglobby": "^0.2.14", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "vitest": "3.2.4" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "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" + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@volar/language-core": { + "version": "2.4.20", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.20.tgz", + "integrity": "sha512-dRDF1G33xaAIDqR6+mXUIjXYdu9vzSxlMGfMEwBxQsfY/JMUEXSpLTR057oTKlUQ2nIvCmP9k94A8h8z2VrNSA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "@volar/source-map": "2.4.20" } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "node_modules/@volar/source-map": { + "version": "2.4.20", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.20.tgz", + "integrity": "sha512-mVjmFQH8mC+nUaVwmbxoYUy8cww+abaO8dWzqPUjilsavjxH0jCJ3Mp8HFuHsdewZs2c+SP+EO7hCd8Z92whJg==", "dev": true, "license": "MIT" }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz", - "integrity": "sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==", - "cpu": [ - "arm" - ], + "node_modules/@volar/typescript": { + "version": "2.4.20", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.20.tgz", + "integrity": "sha512-Oc4DczPwQyXcVbd+5RsNEqX6ia0+w3p+klwdZQ6ZKhFjWoBP9PCPQYlKYRi/tDemWphW93P/Vv13vcE9I9D2GQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@volar/language-core": "2.4.20", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.2.tgz", - "integrity": "sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==", - "cpu": [ - "arm64" - ], + "node_modules/@vue/compiler-core": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", + "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@babel/parser": "^7.27.5", + "@vue/shared": "3.5.17", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.2.tgz", - "integrity": "sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==", - "cpu": [ - "arm64" - ], + "node_modules/@vue/compiler-dom": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", + "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@vue/compiler-core": "3.5.17", + "@vue/shared": "3.5.17" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.2.tgz", - "integrity": "sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==", - "cpu": [ - "x64" - ], + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.2.tgz", - "integrity": "sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==", - "cpu": [ - "arm64" - ], + "node_modules/@vue/language-core": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", + "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.2.tgz", - "integrity": "sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.2.tgz", - "integrity": "sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.2.tgz", - "integrity": "sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^0.4.9", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.2.tgz", - "integrity": "sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==", - "cpu": [ - "arm64" - ], + "node_modules/@vue/shared": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", + "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.2.tgz", - "integrity": "sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==", - "cpu": [ - "arm64" - ], + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "BSD-2-Clause" }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.2.tgz", - "integrity": "sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==", - "cpu": [ - "loong64" - ], + "node_modules/@yarnpkg/parsers": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", + "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "BSD-2-Clause", + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18.12.0" + } }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.2.tgz", - "integrity": "sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==", - "cpu": [ - "ppc64" - ], + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.2.tgz", - "integrity": "sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==", - "cpu": [ - "riscv64" - ], + "node_modules/@zkochan/js-yaml": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.2.tgz", - "integrity": "sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==", - "cpu": [ - "riscv64" - ], + "node_modules/@zkochan/js-yaml/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, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "Python-2.0" }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.2.tgz", - "integrity": "sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==", - "cpu": [ - "s390x" - ], + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.2.tgz", - "integrity": "sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==", - "cpu": [ - "x64" - ], + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.2.tgz", - "integrity": "sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==", - "cpu": [ - "x64" - ], + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.2.tgz", - "integrity": "sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==", - "cpu": [ - "arm64" - ], + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.2.tgz", - "integrity": "sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==", - "cpu": [ - "ia32" - ], + "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, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": ">= 10.0.0" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz", - "integrity": "sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==", - "cpu": [ - "x64" - ], + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" + "engines": { + "node": ">= 14" + } }, - "node_modules/@rushstack/node-core-library": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.13.1.tgz", - "integrity": "sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==", + "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, "license": "MIT", "dependencies": { - "ajv": "~8.13.0", - "ajv-draft-04": "~1.0.0", - "ajv-formats": "~3.0.1", - "fs-extra": "~11.3.0", - "import-lazy": "~4.0.0", - "jju": "~1.4.0", - "resolve": "~1.22.1", - "semver": "~7.5.4" - }, - "peerDependencies": { - "@types/node": "*" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/@rushstack/node-core-library/node_modules/ajv": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", - "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04": { + "node_modules/ajv-draft-04": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", @@ -8033,1059 +7809,1022 @@ } } }, - "node_modules/@rushstack/node-core-library/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@rushstack/node-core-library/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/alien-signals": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", + "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "string-width": "^4.1.0" } }, - "node_modules/@rushstack/node-core-library/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/@rushstack/rig-package": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", - "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "license": "MIT", - "dependencies": { - "resolve": "~1.22.1", - "strip-json-comments": "~3.1.1" + "engines": { + "node": ">=6" } }, - "node_modules/@rushstack/terminal": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.3.tgz", - "integrity": "sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "license": "MIT", "dependencies": { - "@rushstack/node-core-library": "5.13.1", - "supports-color": "~8.1.1" + "type-fest": "^0.21.3" }, - "peerDependencies": { - "@types/node": "*" + "engines": { + "node": ">=8" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rushstack/terminal/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@rushstack/terminal/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@rushstack/ts-command-line": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.0.1.tgz", - "integrity": "sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@rushstack/terminal": "0.15.3", - "@types/argparse": "1.0.38", - "argparse": "~1.0.9", - "string-argv": "~0.3.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.6.0.tgz", - "integrity": "sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==", + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", - "dependencies": { - "@shikijs/types": "3.6.0", - "@shikijs/vscode-textmate": "^10.0.2" + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@shikijs/langs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.6.0.tgz", - "integrity": "sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==", + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.6.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@shikijs/themes": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.6.0.tgz", - "integrity": "sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.6.0" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@swc-node/core": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz", - "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==", + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">= 10" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@swc/core": ">= 1.4.13", - "@swc/types": ">= 0.1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@swc-node/register": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.9.2.tgz", - "integrity": "sha512-BBjg0QNuEEmJSoU/++JOXhrjWdu3PTyYeJWsvchsI0Aqtj8ICkz/DqlwtXbmZVZ5vuDPpTfFlwDBZe81zgShMA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "@swc-node/core": "^1.13.1", - "@swc-node/sourcemap-support": "^0.5.0", - "colorette": "^2.0.20", - "debug": "^4.3.4", - "pirates": "^4.0.6", - "tslib": "^2.6.2" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "@swc/core": ">= 1.4.13", - "typescript": ">= 4.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@swc-node/sourcemap-support": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz", - "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { - "source-map-support": "^0.5.21", - "tslib": "^2.6.3" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@swc-node/sourcemap-support/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "engines": { + "node": ">=12" } }, - "node_modules/@swc/core": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.29.tgz", - "integrity": "sha512-nvTtHJI43DUSOAf3h9XsqYg8YXKc0/N4il9y4j0xAkO0ekgDNo+3+jbw6MInawjKJF9uulyr+f5bAutTsOKVlw==", + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.8" + "tslib": "^2.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.5.29", - "@swc/core-darwin-x64": "1.5.29", - "@swc/core-linux-arm-gnueabihf": "1.5.29", - "@swc/core-linux-arm64-gnu": "1.5.29", - "@swc/core-linux-arm64-musl": "1.5.29", - "@swc/core-linux-x64-gnu": "1.5.29", - "@swc/core-linux-x64-musl": "1.5.29", - "@swc/core-win32-arm64-msvc": "1.5.29", - "@swc/core-win32-ia32-msvc": "1.5.29", - "@swc/core-win32-x64-msvc": "1.5.29" - }, - "peerDependencies": { - "@swc/helpers": "*" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } + "node": ">=4" } }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.29.tgz", - "integrity": "sha512-6F/sSxpHaq3nzg2ADv9FHLi4Fu2A8w8vP8Ich8gIl16D2htStlwnaPmCLjRswO+cFkzgVqy/l01gzNGWd4DFqA==", - "cpu": [ - "arm64" - ], + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.29.tgz", - "integrity": "sha512-rF/rXkvUOTdTIfoYbmszbSUGsCyvqACqy1VeP3nXONS+LxFl4bRmRcUTRrblL7IE5RTMCKUuPbqbQSE2hK7bqg==", - "cpu": [ - "x64" - ], + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.29.tgz", - "integrity": "sha512-2OAPL8iWBsmmwkjGXqvuUhbmmoLxS1xNXiMq87EsnCNMAKohGc7wJkdAOUL6J/YFpean/vwMWg64rJD4pycBeg==", - "cpu": [ - "arm" - ], + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.29.tgz", - "integrity": "sha512-eH/Q9+8O5qhSxMestZnhuS1xqQMr6M7SolZYxiXJqxArXYILLCF+nq2R9SxuMl0CfjHSpb6+hHPk/HXy54eIRA==", - "cpu": [ - "arm64" - ], + "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, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MIT" + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.29.tgz", - "integrity": "sha512-TERh2OICAJz+SdDIK9+0GyTUwF6r4xDlFmpoiHKHrrD/Hh3u+6Zue0d7jQ/he/i80GDn4tJQkHlZys+RZL5UZg==", - "cpu": [ - "arm64" - ], + "node_modules/axios": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.29.tgz", - "integrity": "sha512-WMDPqU7Ji9dJpA+Llek2p9t7pcy7Bob8ggPUvgsIlv3R/eesF9DIzSbrgl6j3EAEPB9LFdSafsgf6kT/qnvqFg==", - "cpu": [ - "x64" - ], + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.29.tgz", - "integrity": "sha512-DO14glwpdKY4POSN0201OnGg1+ziaSVr6/RFzuSLggshwXeeyVORiHv3baj7NENhJhWhUy3NZlDsXLnRFkmhHQ==", - "cpu": [ - "x64" - ], + "node_modules/babel-jest/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.29.tgz", - "integrity": "sha512-V3Y1+a1zG1zpYXUMqPIHEMEOd+rHoVnIpO/KTyFwAmKVu8v+/xPEVx/AGoYE67x4vDAAvPQrKI3Aokilqa5yVg==", - "cpu": [ - "arm64" - ], + "node_modules/babel-jest/node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], + "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": ">=10" + "node": ">=8" } }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.29.tgz", - "integrity": "sha512-OrM6yfXw4wXhnVFosOJzarw0Fdz5Y0okgHfn9oFbTPJhoqxV5Rdmd6kXxWu2RiVKs6kGSJFZXHDeUq2w5rTIMg==", - "cpu": [ - "ia32" - ], + "node_modules/babel-jest/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], + "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": ">=10" + "node": ">=8" } }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.5.29", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.29.tgz", - "integrity": "sha512-eD/gnxqKyZQQR0hR7TMkIlJ+nCF9dzYmVVNbYZWuA1Xy94aBPUsEk3Uw3oG7q6R3ErrEUPP0FNf2ztEnv+I+dw==", - "cpu": [ - "x64" - ], + "node_modules/babel-jest/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "node_modules/babel-jest/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, - "license": "Apache-2.0" + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@swc/helpers": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", - "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "node_modules/babel-jest/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@swc/jest": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", - "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", + "node_modules/babel-jest/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/create-cache-key-function": "^29.7.0", - "@swc/counter": "^0.1.3", - "jsonc-parser": "^3.2.0" + "has-flag": "^4.0.0" }, "engines": { - "npm": ">= 7.0.0" + "node": ">=10" }, - "peerDependencies": { - "@swc/core": "*" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@swc/types": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", - "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", + "node_modules/babel-jest/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@swc/counter": "^0.1.3" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/babel-plugin-const-enum": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", + "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10" + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.3.3", + "@babel/traverse": "^7.16.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "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==", + "node_modules/babel-plugin-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", + "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.4.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/argparse": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "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, "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" } }, - "node_modules/@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/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@types/chai": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", - "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "node_modules/babel-plugin-transform-typescript-metadata": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", + "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", "dev": true, "license": "MIT", "dependencies": { - "@types/deep-eql": "*" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "*" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@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==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, "license": "MIT" }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/bare-events": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", + "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } + "license": "Apache-2.0", + "optional": true }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "node_modules/bare-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", + "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } } }, - "node_modules/@types/jest": { - "version": "29.5.13", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", - "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "node_modules/bare-os": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "license": "Apache-2.0", + "optional": true, + "engines": { + "bare": ">=1.14.0" } }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "bare-os": "^3.0.1" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/bare-stream": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/markdown-it": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@types/linkify-it": "^5", - "@types/mdurl": "^2" + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/node": { - "version": "24.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.13.tgz", - "integrity": "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==", + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "dev": true, "license": "MIT", - "dependencies": { - "undici-types": "~7.8.0" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ua-parser-js": { - "version": "0.7.39", - "resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz", - "integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "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, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "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", - "optional": true, "dependencies": { - "@types/node": "*" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.37.0.tgz", - "integrity": "sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==", + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/type-utils": "8.37.0", - "@typescript-eslint/utils": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.37.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.37.0.tgz", - "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "debug": "^4.3.4" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.37.0.tgz", - "integrity": "sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==", + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.37.0", - "@typescript-eslint/types": "^8.37.0", - "debug": "^4.3.4" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.37.0.tgz", - "integrity": "sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==", + "node_modules/boxen/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.37.0.tgz", - "integrity": "sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==", + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.37.0.tgz", - "integrity": "sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==", + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/utils": "8.37.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.37.0.tgz", - "integrity": "sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==", + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12.20" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.37.0.tgz", - "integrity": "sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==", + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.37.0", - "@typescript-eslint/tsconfig-utils": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", @@ -9095,1254 +8834,1328 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=8.6.0" + "node": ">=8" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/browserslist": { + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", + "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", "dev": true, - "license": "ISC", + "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": { - "is-glob": "^4.0.1" + "caniuse-lite": "^1.0.30001726", + "electron-to-chromium": "^1.5.173", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">= 6" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.37.0.tgz", - "integrity": "sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==", - "dev": true, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.37.0.tgz", - "integrity": "sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.37.0", - "eslint-visitor-keys": "^4.2.1" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "*" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "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": "Apache-2.0", + "license": "MIT" + }, + "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, + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "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, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" + "node_modules/caniuse-lite": { + "version": "1.0.30001727", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz", + "integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "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/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=10" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">= 16" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", - "optional": true, + "license": "ISC", "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", - "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "node_modules/chromium-bidi": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-7.1.1.tgz", + "integrity": "sha512-L2BKQ0rSLADgbPMIdDh3wnYHs3EiUiMay2Sq0CTolheaADmWIf6Pe+T9LJRcnh5rcMz0U7MVk0cQVvKsGRMa1g==", "dev": true, - "license": "MIT", - "optional": true, + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.4.0" + "mitt": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "devtools-protocol": "*" } }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], + "node_modules/cjs-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", + "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "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, "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=6" } }, - "node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/runner": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "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, "license": "MIT", "dependencies": { - "@vitest/utils": "3.2.4", - "pathe": "^2.0.3", - "strip-literal": "^3.0.0" + "restore-cursor": "^3.1.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=8" } }, - "node_modules/@vitest/snapshot": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true, "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" + "engines": { + "node": ">=6" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/snapshot/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", "dev": true, "license": "MIT", "dependencies": { - "tinyspy": "^4.0.3" + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/ui": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", - "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@vitest/utils": "3.2.4", - "fflate": "^0.8.2", - "flatted": "^3.3.3", - "pathe": "^2.0.3", - "sirv": "^3.0.1", - "tinyglobby": "^0.2.14", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, - "peerDependencies": { - "vitest": "3.2.4" + "engines": { + "node": ">=12" } }, - "node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "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, "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=0.8" } }, - "node_modules/@volar/language-core": { - "version": "2.4.18", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.18.tgz", - "integrity": "sha512-G3yYV85ekH4TV0EDS6DsS/dUJWrz675H9UgsxFz5pQbmas51a0Q2fF6Lb2q4RKgytuLZ4E0MBdT5PlVsJXNalw==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "license": "MIT", - "dependencies": { - "@volar/source-map": "2.4.18" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@volar/source-map": { - "version": "2.4.18", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.18.tgz", - "integrity": "sha512-zaj2V/zo/CHQ/xA75h60jBPgrz+Ou9s6aPl7dX0rT46/uill9aB/ZaDk92ROpJsa/9e2xftCeNAU9ZwVyB/egQ==", + "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, "license": "MIT" }, - "node_modules/@volar/typescript": { - "version": "2.4.18", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.18.tgz", - "integrity": "sha512-xcbsMG8m/yhvO1VIKnTtc+llZxw3YtWkZiV7/F1qNpTORdPExkZRcBxJ5d19MXLpkeiQ+DG5JURHh1SV0bcWRA==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.18", - "path-browserify": "^1.0.1", - "vscode-uri": "^3.0.8" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@vue/compiler-core": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", - "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.27.5", - "@vue/shared": "3.5.17", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } + "license": "MIT" }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", - "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", + "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, - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.17", - "@vue/shared": "3.5.17" - } + "license": "MIT" }, - "node_modules/@vue/compiler-vue2": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", - "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", "dev": true, "license": "MIT", "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@vue/language-core": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", - "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", + "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, "license": "MIT", "dependencies": { - "@volar/language-core": "~2.4.11", - "@vue/compiler-dom": "^3.5.0", - "@vue/compiler-vue2": "^2.7.16", - "@vue/shared": "^3.5.0", - "alien-signals": "^0.4.9", - "minimatch": "^9.0.3", - "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1" - }, - "peerDependencies": { - "typescript": "*" + "delayed-stream": "~1.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">= 0.8" } }, - "node_modules/@vue/language-core/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "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, + "license": "MIT" + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "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, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8.0" } }, - "node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "ms": "2.0.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "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, - "license": "MIT", - "peer": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "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, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "node_modules/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, - "license": "MIT", - "peer": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "node_modules/core-js": { + "version": "3.44.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.44.0.tgz", + "integrity": "sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/core-js-compat": { + "version": "3.44.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.44.0.tgz", + "integrity": "sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "browserslist": "^4.25.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "license": "ISC", + "engines": { + "node": ">= 6" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "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, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "node_modules/cwd": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", + "integrity": "sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "find-pkg": "^0.1.2", + "fs-exists-sync": "^0.1.0" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">= 14" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, - "license": "Apache-2.0", - "peer": true + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", - "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=18.12.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@zeit/schemas": { - "version": "2.36.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", - "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "dev": true, "license": "MIT" }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", - "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "ms": "^2.1.3" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@zkochan/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "dev": true, - "license": "Python-2.0" + "license": "MIT" }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=4.0.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^8" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "node_modules/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==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.11.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "license": "MIT", "dependencies": { - "debug": "4" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", "dev": true, "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "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" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "address": "^1.0.1", + "debug": "4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/devtools-protocol": { + "version": "0.0.1464554", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1464554.tgz", + "integrity": "sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause" }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "license": "MIT", - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" } }, - "node_modules/alien-signals": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", - "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "string-width": "^4.1.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/dotenv": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.0.tgz", + "integrity": "sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "type-fest": "^0.21.3" + "dotenv": "^16.4.5" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://dotenvx.com" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/dotenv-expand/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "jake": "^10.8.5" }, - "engines": { - "node": ">= 8" + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "node_modules/electron-to-chromium": { + "version": "1.5.189", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.189.tgz", + "integrity": "sha512-y9D1ntS1ruO/pZ/V2FtLE+JXLQe28XoRpZ7QCCo0T8LdQladzdcOVQZH/IWLVJvCw12OGMb6hYOeOAjntCmJRQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "ISC" }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "once": "^1.4.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "node_modules/enhanced-resolve": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", + "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/equals-ignore-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/equals-ignore-case/-/equals-ignore-case-1.0.1.tgz", + "integrity": "sha512-krgK/Px09jhcc7wK5/lxApRv7XmIT/fSgrMwdaW/V1FmPJEIJMNGEMhe0U9tJ/97rPe75MHKPRqi7/8Tqz6NMA==", + "license": "ISC" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -10351,1213 +10164,1153 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "node_modules/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, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "es-errors": "^1.3.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/esbuild": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" } }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "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, - "license": "MIT" - }, - "node_modules/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/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "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/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "node_modules/eslint": { + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", + "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.15.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.31.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/babel-plugin-const-enum": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", - "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", + "node_modules/eslint-compat-utils": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz", + "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.3.3", - "@babel/traverse": "^7.16.0" + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint": ">=6.0.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/eslint-compat-utils/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.1.1" } }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "ms": "^2.1.1" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "node_modules/eslint-plugin-es-x": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz", + "integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==", "dev": true, + "funding": [ + "https://github.com/sponsors/ota-meshi", + "https://opencollective.com/eslint" + ], "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@eslint-community/eslint-utils": "^4.1.2", + "@eslint-community/regexpp": "^4.11.0", + "eslint-compat-utils": "^0.5.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "eslint": ">=8" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" }, "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, - "node_modules/babel-plugin-transform-typescript-metadata": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", - "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", - "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "ms": "^2.1.1" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/eslint-plugin-import/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "minimist": "^1.2.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bare-events": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", - "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", - "dev": true, - "license": "Apache-2.0", - "optional": true - }, - "node_modules/bare-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", - "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "ISC", "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" + "brace-expansion": "^1.1.7" }, "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } + "node": "*" } }, - "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "engines": { - "bare": ">=1.14.0" + "node": ">=4" } }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "node_modules/eslint-plugin-import/node_modules/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==", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "bare-os": "^3.0.1" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "node_modules/eslint-plugin-jest": { + "version": "29.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.0.1.tgz", + "integrity": "sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "streamx": "^2.21.0" + "@typescript-eslint/utils": "^8.0.0" + }, + "engines": { + "node": "^20.12.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" + "@typescript-eslint/eslint-plugin": "^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "jest": "*" }, "peerDependenciesMeta": { - "bare-buffer": { + "@typescript-eslint/eslint-plugin": { "optional": true }, - "bare-events": { + "jest": { "optional": true } } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "node_modules/eslint-plugin-n": { + "version": "17.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.21.0.tgz", + "integrity": "sha512-1+iZ8We4ZlwVMtb/DcHG3y5/bZOdazIpa/4TySo22MLKdwrLcfrX0hbadnCvykSQCCmkAnWmIP8jZVb2AAq29A==", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "5.1.2" + "@eslint-community/eslint-utils": "^4.5.0", + "enhanced-resolve": "^5.17.1", + "eslint-plugin-es-x": "^7.8.0", + "get-tsconfig": "^4.8.1", + "globals": "^15.11.0", + "ignore": "^5.3.2", + "minimatch": "^9.0.5", + "semver": "^7.6.3", + "ts-declaration-location": "^1.0.6" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": ">=8.23.0" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/eslint-plugin-n/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/eslint-plugin-n/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/eslint-plugin-n/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "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, - "license": "MIT", - "peer": true - }, - "node_modules/boxen": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", - "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=14.16" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/eslint/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/eslint/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, "license": "MIT" }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-regex": "^6.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "*" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=12.20" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" + "estraverse": "^5.1.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=0.10" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "fast-json-stable-stringify": "2.x" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 6" + "node": ">=4.0" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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.2.1" - } + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true, "license": "MIT" }, - "node_modules/builtin-modules": { + "node_modules/events": { "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, + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "license": "MIT", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.x" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "node_modules/expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" + "os-homedir": "^1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/expect-puppeteer": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-11.0.0.tgz", + "integrity": "sha512-fgxsbOD+HqwOCMitYqEDzRoJM2fxKbCKPYfUoukK+qdZm/nC+cTOI74Au2MfmMZmF/5CgQGO4+1Ywq2GgD8zCQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=18" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=6" + "node": ">=12.0.0" } }, - "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==", + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001668", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz", - "integrity": "sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "type": "github", + "url": "https://github.com/sponsors/fastify" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "opencollective", + "url": "https://opencollective.com/fastify" } ], - "license": "CC-BY-4.0" + "license": "BSD-3-Clause" }, - "node_modules/catharsis": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, - "license": "MIT", - "peer": true, + "license": "ISC", "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">= 10" + "reusify": "^1.0.4" } }, - "node_modules/chai": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", - "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" + "bser": "2.1.1" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "pend": "~1.2.0" + } + }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "flat-cache": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/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==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">= 16" + "node": ">=10" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "node_modules/find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "find-file-up": "^0.1.2" + }, "engines": { - "node": ">=6.0" + "node": ">=0.10.0" } }, - "node_modules/chromium-bidi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz", - "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==", + "node_modules/find-process": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.11.tgz", + "integrity": "sha512-mAOh9gGk9WZ4ip5UjV0o6Vb4SrfnAmtsFNzkMRH9HQiFXVQnDyQFrSHTK5UoG6E+KV+s+cIznbtwpfN41l2nFA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "mitt": "^3.0.1", - "zod": "^3.24.1" + "chalk": "~4.1.2", + "commander": "^12.1.0", + "loglevel": "^1.9.2" }, - "peerDependencies": { - "devtools-protocol": "*" + "bin": { + "find-process": "bin/find-process.js" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/find-process/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/cjs-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/class-transformer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", - "dev": true, - "license": "MIT" - }, - "node_modules/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/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { - "source-map": "~0.6.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-jsdoc-theme": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.3.0.tgz", - "integrity": "sha512-QMrBdZ2KdPt6V2Ytg7dIt0/q32U4COpxvR0UDhPjRRKRL0o0MvRCR5YpY37/4rPF1SI1AYEKAWyof7ndCb/dzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jsdoc/salty": "^0.2.4", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^7.2.0", - "klaw-sync": "^6.0.0", - "lodash": "^4.17.21", - "showdown": "^2.1.0" - }, - "peerDependencies": { - "jsdoc": ">=3.x <=4.x" + "node": ">=8" } }, - "node_modules/clean-jsdoc-theme/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/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==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "semver-regex": "^3.1.2" }, - "engines": { - "node": ">=12" - } - }, - "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, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -11565,535 +11318,485 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "is-callable": "^1.2.7" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/clipboardy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", - "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "dev": true, "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">=0.8" + "node": ">= 6" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", "dev": true, "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "dependencies": { + "js-yaml": "^3.13.1" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true, "license": "MIT" }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/columnify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", - "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, "license": "MIT", "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=14.14" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } + "license": "ISC" }, - "node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=14" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "date-fns": "^2.30.0", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": "^14.13.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/concurrently/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/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, + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "dev": true, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, - "hasInstallScript": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "resolve-pkg-maps": "^1.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", "dev": true, "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, "engines": { - "node": ">= 0.4.0" + "node": ">= 14" } }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "license": "MIT", - "peer": true, "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" + "is-glob": "^4.0.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10.13.0" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/cssstyle": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", - "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "rrweb-cssom": "^0.6.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=14" + "node": "*" } }, - "node_modules/cwd": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", - "integrity": "sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==", + "node_modules/global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", "dev": true, "license": "MIT", "dependencies": { - "find-pkg": "^0.1.2", - "fs-exists-sync": "^0.1.0" + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" }, "engines": { - "node": ">=0.8" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" + "node": ">=0.10.0" } }, - "node_modules/data-urls": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", - "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "node_modules/global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" }, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "isexe": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "which": "bin/which" } }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/inspect-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -12102,122 +11805,84 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, "engines": { - "node": ">=0.11" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "(Apache-2.0 OR MPL-1.1)" }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/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, "license": "MIT", "dependencies": { - "clone": "^1.0.2" + "es-define-property": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/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/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "dunder-proto": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12226,26 +11891,27 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -12254,373 +11920,419 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" + "function-bind": "^1.1.2" }, "engines": { - "node": ">= 14" + "node": ">= 0.4" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/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, "license": "MIT", - "engines": { - "node": ">=0.4.0" + "bin": { + "he": "bin/he" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/detect-port": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", - "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">= 4.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/devtools-protocol": { - "version": "0.0.1464554", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1464554.tgz", - "integrity": "sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "ISC" }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=12" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "node_modules/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, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "license": "MIT", "dependencies": { - "webidl-conversions": "^7.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=8.0.0" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/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, "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/dotenv": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.0.tgz", - "integrity": "sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==", + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" } }, - "node_modules/dotenv-expand": { - "version": "11.0.6", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz", - "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "dotenv": "^16.4.4" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "node": ">= 14" } }, - "node_modules/dotenv-expand/node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "node": ">=10.17.0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/husky" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "harmony-reflect": "^1.4.6" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.38", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.38.tgz", - "integrity": "sha512-VbeVexmZ1IFh+5EfrYz1I0HTzHVIlJa112UEWhciPyeOcKJGeTv6N8WnG4wsQB81DGCaVEGhpSb6o6a8WYFXXg==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", "dev": true, "license": "ISC" }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=4" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "engines": { + "node": ">=8" } }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "find-up": "^4.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=8" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=0.8.19" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/equals-ignore-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/equals-ignore-case/-/equals-ignore-case-1.0.1.tgz", - "integrity": "sha512-krgK/Px09jhcc7wK5/lxApRv7XmIT/fSgrMwdaW/V1FmPJEIJMNGEMhe0U9tJ/97rPe75MHKPRqi7/8Tqz6NMA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, "license": "ISC" }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -12629,66 +12341,96 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -12696,18 +12438,21 @@ }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -12716,523 +12461,355 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", - "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.6", - "@esbuild/android-arm": "0.25.6", - "@esbuild/android-arm64": "0.25.6", - "@esbuild/android-x64": "0.25.6", - "@esbuild/darwin-arm64": "0.25.6", - "@esbuild/darwin-x64": "0.25.6", - "@esbuild/freebsd-arm64": "0.25.6", - "@esbuild/freebsd-x64": "0.25.6", - "@esbuild/linux-arm": "0.25.6", - "@esbuild/linux-arm64": "0.25.6", - "@esbuild/linux-ia32": "0.25.6", - "@esbuild/linux-loong64": "0.25.6", - "@esbuild/linux-mips64el": "0.25.6", - "@esbuild/linux-ppc64": "0.25.6", - "@esbuild/linux-riscv64": "0.25.6", - "@esbuild/linux-s390x": "0.25.6", - "@esbuild/linux-x64": "0.25.6", - "@esbuild/netbsd-arm64": "0.25.6", - "@esbuild/netbsd-x64": "0.25.6", - "@esbuild/openbsd-arm64": "0.25.6", - "@esbuild/openbsd-x64": "0.25.6", - "@esbuild/openharmony-arm64": "0.25.6", - "@esbuild/sunos-x64": "0.25.6", - "@esbuild/win32-arm64": "0.25.6", - "@esbuild/win32-ia32": "0.25.6", - "@esbuild/win32-x64": "0.25.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "call-bound": "^1.0.3" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", - "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.0", - "@eslint/core": "^0.15.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.31.0", - "@eslint/plugin-kit": "^0.3.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "node": ">=8" } }, - "node_modules/eslint-compat-utils": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz", - "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "license": "MIT", - "dependencies": { - "semver": "^7.5.4" - }, "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": ">=6.0.0" + "node": ">=6" } }, - "node_modules/eslint-compat-utils/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/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, "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=8" } }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/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, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "license": "MIT" }, - "node_modules/eslint-plugin-es-x": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz", - "integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==", + "node_modules/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, - "funding": [ - "https://github.com/sponsors/ota-meshi", - "https://opencollective.com/eslint" - ], "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.1.2", - "@eslint-community/regexpp": "^4.11.0", - "eslint-compat-utils": "^0.5.1" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + "node": ">=0.12.0" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/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, "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-import/node_modules/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/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, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } + "license": "MIT" }, - "node_modules/eslint-plugin-jest": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.0.1.tgz", - "integrity": "sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==", + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.0.0" - }, - "engines": { - "node": "^20.12.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "@types/estree": "*" } }, - "node_modules/eslint-plugin-n": { - "version": "17.21.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.21.0.tgz", - "integrity": "sha512-1+iZ8We4ZlwVMtb/DcHG3y5/bZOdazIpa/4TySo22MLKdwrLcfrX0hbadnCvykSQCCmkAnWmIP8jZVb2AAq29A==", + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.5.0", - "enhanced-resolve": "^5.17.1", - "eslint-plugin-es-x": "^7.8.0", - "get-tsconfig": "^4.8.1", - "globals": "^15.11.0", - "ignore": "^5.3.2", - "minimatch": "^9.0.5", - "semver": "^7.6.3", - "ts-declaration-location": "^1.0.6" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": ">=8.23.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-n/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-n/node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-n/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "call-bound": "^1.0.3" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "which-typed-array": "^1.1.16" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/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, "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, "engines": { "node": ">=10" }, @@ -13240,2825 +12817,2965 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "call-bound": "^1.0.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "node_modules/is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "is-docker": "^2.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=10" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "semver": "bin/semver.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "estraverse": "^5.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=10" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-3-Clause", "dependencies": { - "estraverse": "^5.2.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=10" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "license": "MIT" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dev": true, - "license": "BSD-2-Clause", + "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": ">=0.10.0" + "node": ">=10" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "license": "MIT", - "engines": { - "node": ">=0.8.x" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", + "license": "ISC", "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" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": "*" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/jest": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.5.tgz", + "integrity": "sha512-y2mfcJywuTUkvLm2Lp1/pFX8kTgMO5yyQGq/Sk/n2mN7XWYp4JsCZ/QXW34M8YScgk8bPZlREH04f6blPnoHnQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.0.5", + "@jest/types": "30.0.5", + "import-local": "^3.2.0", + "jest-cli": "30.0.5" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">= 0.8.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/exit-x": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", - "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "node_modules/jest-changed-files": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.5.tgz", + "integrity": "sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A==", "dev": true, "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.0.5", + "p-limit": "^3.1.0" + }, "engines": { - "node": ">= 0.8.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", + "node_modules/jest-changed-files/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "os-homedir": "^1.0.1" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/expect-puppeteer": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-11.0.0.tgz", - "integrity": "sha512-fgxsbOD+HqwOCMitYqEDzRoJM2fxKbCKPYfUoukK+qdZm/nC+cTOI74Au2MfmMZmF/5CgQGO4+1Ywq2GgD8zCQ==", + "node_modules/jest-changed-files/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-changed-files/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "node_modules/jest-changed-files/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=12.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/exsolve": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", - "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "node_modules/jest-circus": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.5.tgz", + "integrity": "sha512-h/sjXEs4GS+NFFfqBDYT7y5Msfxh04EwWLhQi0F8kuWpe+J/7tICSlswU8qvBqumR3kFgHbfu7vU6qruWWBPug==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" + "@jest/environment": "30.0.5", + "@jest/expect": "30.0.5", + "@jest/test-result": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.0.5", + "jest-matcher-utils": "30.0.5", + "jest-message-util": "30.0.5", + "jest-runtime": "30.0.5", + "jest-snapshot": "30.0.5", + "jest-util": "30.0.5", + "p-limit": "^3.1.0", + "pretty-format": "30.0.5", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/jest-circus/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "node_modules/jest-circus/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "node_modules/jest-circus/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">= 6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "node_modules/jest-circus/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "node_modules/jest-circus/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" + "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "node_modules/jest-circus/node_modules/dedent": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", + "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz", + "integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "pretty-format": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz", + "integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==", "dev": true, "license": "MIT", "dependencies": { - "pend": "~1.2.0" + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "jest-diff": "30.0.5", + "pretty-format": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true, - "license": "MIT" - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "node_modules/jest-circus/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/jest-circus/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/find-file-up": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", - "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", + "node_modules/jest-cli": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.5.tgz", + "integrity": "sha512-Sa45PGMkBZzF94HMrlX4kUyPOwUpdZasaliKN3mifvDmkhLYqLLg8HQTzn6gq7vJGahFYMQjXgyJWfYImKZzOw==", "dev": true, "license": "MIT", "dependencies": { - "fs-exists-sync": "^0.1.0", - "resolve-dir": "^0.1.0" + "@jest/core": "30.0.5", + "@jest/test-result": "30.0.5", + "@jest/types": "30.0.5", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/find-pkg": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", - "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", + "node_modules/jest-cli/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "find-file-up": "^0.1.2" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/find-process": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.11.tgz", - "integrity": "sha512-mAOh9gGk9WZ4ip5UjV0o6Vb4SrfnAmtsFNzkMRH9HQiFXVQnDyQFrSHTK5UoG6E+KV+s+cIznbtwpfN41l2nFA==", + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "~4.1.2", - "commander": "^12.1.0", - "loglevel": "^1.9.2" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "bin": { - "find-process": "bin/find-process.js" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/find-process/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "node_modules/jest-cli/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } + "license": "MIT" }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/jest-cli/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/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/jest-cli/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "semver-regex": "^3.1.2" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "node_modules/jest-config": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.5.tgz", + "integrity": "sha512-aIVh+JNOOpzUgzUnPn5FLtyVnqc3TQHVMupYtyeURSb//iLColiMIR8TxCIDKyx9ZgjKnXGucuW68hCxgbrwmA==", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "@babel/core": "^7.27.4", + "@jest/get-type": "30.0.1", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.0.5", + "@jest/types": "30.0.5", + "babel-jest": "30.0.5", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.0.5", + "jest-docblock": "30.0.1", + "jest-environment-node": "30.0.5", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.5", + "jest-runner": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5", + "micromatch": "^4.0.8", + "parse-json": "^5.2.0", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { - "debug": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { "optional": true } } }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "node_modules/jest-config/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.2.7" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "node_modules/jest-config/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "node_modules/jest-config/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">= 6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/front-matter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", - "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "node_modules/jest-config/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "js-yaml": "^3.13.1" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "node_modules/jest-config/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", + "node_modules/jest-config/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { - "node": ">=14.14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/jest-config/node_modules/babel-jest": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.5.tgz", + "integrity": "sha512-mRijnKimhGDMsizTvBTWotwNpzrkHr+VvZUQBof2AufXKB8NXrL1W69TG20EvOz7aevx6FTJIaBuBkYxS8zolg==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@jest/transform": "30.0.5", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.0", + "babel-preset-jest": "30.0.1", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/jest-config/node_modules/babel-plugin-jest-hoist": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz", + "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "node_modules/jest-config/node_modules/babel-preset-jest": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz", + "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "babel-plugin-jest-hoist": "30.0.1", + "babel-preset-current-node-syntax": "^1.1.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.11.0" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/jest-config/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/jest-config/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "node_modules/jest-config/node_modules/jest-environment-node": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.5.tgz", + "integrity": "sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "@jest/environment": "30.0.5", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true, - "license": "ISC" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/jest-config/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, "engines": { - "node": ">=8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "node_modules/jest-config/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/jest-config/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "node_modules/jest-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/get-tsconfig": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", - "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "node_modules/jest-config/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/get-uri": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", - "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", - "dev": true, - "license": "MIT", + "node_modules/jest-cucumber": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jest-cucumber/-/jest-cucumber-4.5.0.tgz", + "integrity": "sha512-EGVqkeE6xM/wnpWuLuB3AMQs4vNkLDwOuH3bsH2AigphAqDp+k3E+AIh0FAKhJ/1IjLTfZKyupIPRlYN62YZ+A==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4" + "@cucumber/gherkin": "^28.0.0", + "callsites": "^3.0.0", + "glob": "^10.3.10", + "uuid": "^10.0.0" }, - "engines": { - "node": ">= 14" + "peerDependencies": { + "@types/jest": ">=29.5.12", + "jest": ">=29.7.0", + "vitest": ">=1.4.0" + }, + "peerDependenciesMeta": { + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/jest-cucumber/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "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" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/jest-cucumber/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.3" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true - }, - "node_modules/global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", + "node_modules/jest-dev-server": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-11.0.0.tgz", + "integrity": "sha512-a54rw3uEzsPckyiXo2rPji9R/5z0d0qhXtru+NwCP8cDxOFk/BIP9PNgmcLh0DU8UTl8s6Lg1u+ri5uQsTJTmw==", "dev": true, "license": "MIT", "dependencies": { - "global-prefix": "^0.1.4", - "is-windows": "^0.2.0" + "chalk": "^4.1.2", + "cwd": "^0.10.0", + "find-process": "^1.4.7", + "prompts": "^2.4.2", + "spawnd": "^11.0.0", + "tree-kill": "^1.2.2", + "wait-on": "^8.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "license": "MIT", "dependencies": { - "homedir-polyfill": "^1.0.0", - "ini": "^1.3.4", - "is-windows": "^0.2.0", - "which": "^1.2.12" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/jest-docblock": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz", + "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "detect-newline": "^3.1.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/jest-each": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.5.tgz", + "integrity": "sha512-dKjRsx1uZ96TVyejD3/aAWcNKy6ajMaN531CwWIsrazIqIoXI9TnnpPlkrEYku/8rkS3dh2rbH+kMOyiEIv0xQ==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/get-type": "30.0.1", + "@jest/types": "30.0.5", + "chalk": "^4.1.2", + "jest-util": "30.0.5", + "pretty-format": "30.0.5" + }, "engines": { - "node": ">=4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "node_modules/jest-each/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/jest-each/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/jest-each/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true, - "license": "(Apache-2.0 OR MPL-1.1)" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/jest-each/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/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==", + "node_modules/jest-each/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.0" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "node_modules/jest-environment-jsdom": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.5.tgz", + "integrity": "sha512-BmnDEoAH+jEjkPrvE9DTKS2r3jYSJWlN/r46h0/DBUxKrkgt2jAZ5Nj4wXLAcV1KWkRpcFqA5zri9SWzJZ1cCg==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.5", + "@jest/environment-jsdom-abstract": "30.0.5", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jsdom": "^26.1.0" + }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/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/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/jest-environment-jsdom/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "parse-passwd": "^1.0.0" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^10.0.1" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/jest-environment-jsdom/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "node_modules/jest-environment-jsdom/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": ">=8" } }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">=8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { - "node": ">= 6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "basic-auth": "^2.0.1", + "@jest/types": "30.0.5", + "@types/node": "*", "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=12" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/jest-environment-jsdom/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">=10.17.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "node_modules/jest-environment-puppeteer": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-11.0.0.tgz", + "integrity": "sha512-BJR+k19/awJmXVc5IJ3VY+tho0888PvHAp16D+DP/ezRL84bgg4ggc1Q3mfa85DI+Nw9hgTme3pt0X5F7CWxmg==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" + "chalk": "^4.1.2", + "cosmiconfig": "^8.3.6", + "deepmerge": "^4.3.1", + "jest-dev-server": "^11.0.0", + "jest-environment-node": "^29.7.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/husky" + "node": ">=18" } }, - "node_modules/husky/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "node_modules/jest-environment-puppeteer/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, - "license": "MIT" + "license": "Python-2.0" }, - "node_modules/husky/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/jest-environment-puppeteer/node_modules/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, "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" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/husky/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/jest-environment-puppeteer/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "node_modules/jest-haste-map": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.5.tgz", + "integrity": "sha512-dkmlWNlsTSR0nH3nRfW5BKbqHefLZv0/6LCccG0xFCTWcJu8TuEwG+5Cm75iBfjVoockmO6J35o5gxtFSn5xeg==", "dev": true, "license": "MIT", "dependencies": { - "harmony-reflect": "^1.4.6" + "@jest/types": "30.0.5", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.5", + "jest-worker": "30.0.5", + "micromatch": "^4.0.8", + "walker": "^1.0.8" }, "engines": { - "node": ">=4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/jest-haste-map/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">= 4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "license": "ISC" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/jest-haste-map/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "node_modules/jest-haste-map/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/jest-leak-detector": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.5.tgz", + "integrity": "sha512-3Uxr5uP8jmHMcsOtYMRB/zf1gXN3yUIc+iPorhNETG54gErFIiUhLvyY/OggYpSMOEYqsmRxmuU4ZOoX5jpRFg==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "@jest/get-type": "30.0.1", + "pretty-format": "30.0.5" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/jest-leak-detector/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=0.8.19" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/jest-leak-detector/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/install": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">= 0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "node_modules/jest-puppeteer": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-11.0.0.tgz", + "integrity": "sha512-kixkUTNcXikldQ+TusIEvqtTO/et/MiXGkoUBQViPSdSN6JOPvTjDN/mo6Jh4EJzay8qFg/Sd4v4gPS0y9b+zw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "expect-puppeteer": "^11.0.0", + "jest-environment-puppeteer": "^11.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "puppeteer": ">=19" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "node_modules/jest-resolve": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.5.tgz", + "integrity": "sha512-d+DjBQ1tIhdz91B79mywH5yYu76bZuE96sSbxj8MkjWVx5WNdt1deEFRONVL4UkKLSrAbMkdhb24XN691yDRHg==", "dev": true, "license": "MIT", "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.5", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.0.5", + "jest-validate": "30.0.5", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "node_modules/jest-resolve-dependencies": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.5.tgz", + "integrity": "sha512-/xMvBR4MpwkrHW4ikZIWRttBBRZgWK4d6xt3xW1iRDSKt4tXzYkMkyPfBnSCgv96cpkrctfXs6gexeqMYqdEpw==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.2" + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/jest-resolve/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/jest-resolve/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "node_modules/jest-runner": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.5.tgz", + "integrity": "sha512-JcCOucZmgp+YuGgLAXHNy7ualBx4wYSgJVWrYMRBnb79j9PD0Jxh0EHvR5Cx/r0Ce+ZBC4hCdz2AzFFLl9hCiw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" + "@jest/console": "30.0.5", + "@jest/environment": "30.0.5", + "@jest/test-result": "30.0.5", + "@jest/transform": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.0.1", + "jest-environment-node": "30.0.5", + "jest-haste-map": "30.0.5", + "jest-leak-detector": "30.0.5", + "jest-message-util": "30.0.5", + "jest-resolve": "30.0.5", + "jest-runtime": "30.0.5", + "jest-util": "30.0.5", + "jest-watcher": "30.0.5", + "jest-worker": "30.0.5", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "node_modules/jest-runner/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "node_modules/jest-runner/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-runner/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/jest-runner/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/jest-runner/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/jest-runner/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "node_modules/jest-runner/node_modules/jest-environment-node": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.5.tgz", + "integrity": "sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "30.0.5", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5" + }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true, - "license": "MIT" - }, - "node_modules/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==", + "node_modules/jest-runner/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-runner/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=0.12.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "node_modules/jest-runner/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/is-port-reachable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", - "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "node_modules/jest-runtime": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.5.tgz", + "integrity": "sha512-7oySNDkqpe4xpX5PPiJTe5vEa+Ak/NnNz2bGYZrA1ftG3RL3EFlHaUkA1Cjx+R8IhK0Vg43RML5mJedGTPNz3A==", "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "@jest/environment": "30.0.5", + "@jest/fake-timers": "30.0.5", + "@jest/globals": "30.0.5", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.0.5", + "@jest/transform": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.0.5", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.0.5", + "jest-snapshot": "30.0.5", + "jest-util": "30.0.5", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "node_modules/jest-runtime/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*" + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "node_modules/jest-runtime/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "node_modules/jest-runtime/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "node_modules/jest-runtime/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "call-bound": "^1.0.3" - }, + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-runtime/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "node_modules/jest-snapshot": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.5.tgz", + "integrity": "sha512-T00dWU/Ek3LqTp4+DcW6PraVxjk28WY5Ua/s+3zUKSERZSNyxTqhDXCWKG5p2HAJ+crVQ3WJ2P9YVHpj1tkW+g==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.0.5", + "@jest/get-type": "30.0.1", + "@jest/snapshot-utils": "30.0.5", + "@jest/transform": "30.0.5", + "@jest/types": "30.0.5", + "babel-preset-current-node-syntax": "^1.1.0", + "chalk": "^4.1.2", + "expect": "30.0.5", + "graceful-fs": "^4.2.11", + "jest-diff": "30.0.5", + "jest-matcher-utils": "30.0.5", + "jest-message-util": "30.0.5", + "jest-util": "30.0.5", + "pretty-format": "30.0.5", + "semver": "^7.7.2", + "synckit": "^0.11.8" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "node_modules/jest-snapshot/node_modules/@jest/expect-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz", + "integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "@jest/get-type": "30.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", + "node_modules/jest-snapshot/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "node_modules/jest-snapshot/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/jest-snapshot/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, - "license": "BSD-3-Clause", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "node_modules/jest-snapshot/node_modules/expect": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz", + "integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "@jest/expect-utils": "30.0.5", + "@jest/get-type": "30.0.1", + "jest-matcher-utils": "30.0.5", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz", + "integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "pretty-format": "30.0.5" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz", + "integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "jest-diff": "30.0.5", + "pretty-format": "30.0.5" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-snapshot/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/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/jest-snapshot/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jake": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", - "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, + "license": "ISC", "bin": { - "jake": "bin/cli.js" + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/jest": { + "node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } } }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "node_modules/jest-util/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, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "peer": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-changed-files/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "node_modules/jest-validate": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.5.tgz", + "integrity": "sha512-ouTm6VFHaS2boyl+k4u+Qip4TSH7Uld5tyD8psQ8abGgt2uYYB8VwVfAHWHjHc0NWmGGbwO5h0sCPOGHHevefw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@jest/get-type": "30.0.1", + "@jest/types": "30.0.5", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.0.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-circus/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==", + "node_modules/jest-validate/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-circus/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-circus/node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "node_modules/jest-validate/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/jest-circus/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-circus/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": ">= 6" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-cucumber": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/jest-cucumber/-/jest-cucumber-4.5.0.tgz", - "integrity": "sha512-EGVqkeE6xM/wnpWuLuB3AMQs4vNkLDwOuH3bsH2AigphAqDp+k3E+AIh0FAKhJ/1IjLTfZKyupIPRlYN62YZ+A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@cucumber/gherkin": "^28.0.0", - "callsites": "^3.0.0", - "glob": "^10.3.10", - "uuid": "^10.0.0" - }, - "peerDependencies": { - "@types/jest": ">=29.5.12", - "jest": ">=29.7.0", - "vitest": ">=1.4.0" - }, - "peerDependenciesMeta": { - "@types/jest": { - "optional": true - }, - "jest": { - "optional": true - }, - "vitest": { - "optional": true - } + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-cucumber/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/jest-watcher": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.5.tgz", + "integrity": "sha512-z9slj/0vOwBDBjN3L4z4ZYaA+pG56d6p3kTUhFRYGvXbXMWhXmb/FIxREZCD06DYUwDKKnj2T80+Pb71CQ0KEg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/jest-cucumber/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-cucumber/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "@jest/test-result": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.0.5", + "string-length": "^4.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-cucumber/node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-dev-server": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-11.0.0.tgz", - "integrity": "sha512-a54rw3uEzsPckyiXo2rPji9R/5z0d0qhXtru+NwCP8cDxOFk/BIP9PNgmcLh0DU8UTl8s6Lg1u+ri5uQsTJTmw==", + "node_modules/jest-watcher/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "cwd": "^0.10.0", - "find-process": "^1.4.7", - "prompts": "^2.4.2", - "spawnd": "^11.0.0", - "tree-kill": "^1.2.2", - "wait-on": "^8.0.1" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "node_modules/jest-watcher/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "node_modules/jest-watcher/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.0.4.tgz", - "integrity": "sha512-9WmS3oyCLFgs6DUJSoMpVb+AbH62Y2Xecw3XClbRgj6/Z+VjNeSLjrhBgVvTZ40njZTWeDHv8unp+6M/z8ADDg==", + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.0.4", - "@jest/environment-jsdom-abstract": "30.0.4", - "@types/jsdom": "^21.1.7", + "@jest/types": "30.0.5", "@types/node": "*", - "jsdom": "^26.1.0" + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", - "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", + "node_modules/jest-websocket-mock": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jest-websocket-mock/-/jest-websocket-mock-2.5.0.tgz", + "integrity": "sha512-a+UJGfowNIWvtIKIQBHoEWIUqRxxQHFx4CXT+R5KxxKBtEQ5rS3pPOV/5299sHzqbmeCzxxY5qE4+yfXePePig==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "jest-mock": "30.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "jest-diff": "^29.2.0", + "mock-socket": "^9.3.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", - "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", + "node_modules/jest-worker": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.5.tgz", + "integrity": "sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", - "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", - "jest-message-util": "30.0.2", - "jest-mock": "30.0.2", - "jest-util": "30.0.2" + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.0.5", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/schemas": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", - "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", + "node_modules/jest-worker/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { @@ -16068,15 +15785,15 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", - "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "node_modules/jest-worker/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.1", + "@jest/schemas": "30.0.5", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", @@ -16087,47 +15804,14 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@sinclair/typebox": { + "node_modules/jest-worker/node_modules/@sinclair/typebox": { "version": "0.34.38", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, "license": "MIT" }, - "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/jest-environment-jsdom/node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-environment-jsdom/node_modules/ci-info": { + "node_modules/jest-worker/node_modules/ci-info": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", @@ -16143,130 +15827,141 @@ "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "node_modules/jest-worker/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "node_modules/jest/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^3.1.1" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/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==", + "node_modules/jest/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">= 14" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/jest/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } + "license": "MIT" }, - "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", - "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.0.1", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "license": "MIT" }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", - "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@jest/types": "30.0.1", - "@types/node": "*", - "jest-util": "30.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", - "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", + "node_modules/js-base64": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", + "license": "BSD-3-Clause" + }, + "node_modules/js-logger": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/js-logger/-/js-logger-1.6.1.tgz", + "integrity": "sha512-yTgMCPXVjhmg28CuUH8CKjU+cIKL/G+zTu4Fn4lQxs8mRFH/03QTNvEFngcxfg/gRDiQAOoyCKmMTOm9ayOzXA==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", @@ -16306,532 +16001,547 @@ } } }, - "node_modules/jest-environment-jsdom/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/jest-environment-jsdom/node_modules/pretty-format": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", - "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", + "node_modules/jsdom/node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.1", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" } }, - "node_modules/jest-environment-jsdom/node_modules/rrweb-cssom": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", - "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-environment-jsdom/node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "node_modules/jsdom/node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "tldts": "^6.1.32" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">=16" + "node": ">=18" } }, - "node_modules/jest-environment-jsdom/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "0.6.3" + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "node_modules/jsonc-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "node_modules/jsonc-eslint-parser/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-environment-puppeteer": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-11.0.0.tgz", - "integrity": "sha512-BJR+k19/awJmXVc5IJ3VY+tho0888PvHAp16D+DP/ezRL84bgg4ggc1Q3mfa85DI+Nw9hgTme3pt0X5F7CWxmg==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "cosmiconfig": "^8.3.6", - "deepmerge": "^4.3.1", - "jest-dev-server": "^11.0.0", - "jest-environment-node": "^29.7.0" - }, + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=6" } }, - "node_modules/jest-environment-puppeteer/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", "dev": true, - "license": "Python-2.0" + "license": "MIT" }, - "node_modules/jest-environment-puppeteer/node_modules/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/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "license": "MIT", - "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": ">=6" } }, - "node_modules/jest-environment-puppeteer/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "uc.micro": "^2.0.0" } }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "node_modules/lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/lint-staged/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/lint-staged/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "pump": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/lint-staged/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "license": "MIT", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10.0.0" }, "peerDependencies": { - "jest-resolve": "*" + "enquirer": ">= 2.3.0 < 3" }, "peerDependenciesMeta": { - "jest-resolve": { + "enquirer": { "optional": true } } }, - "node_modules/jest-puppeteer": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-11.0.0.tgz", - "integrity": "sha512-kixkUTNcXikldQ+TusIEvqtTO/et/MiXGkoUBQViPSdSN6JOPvTjDN/mo6Jh4EJzay8qFg/Sd4v4gPS0y9b+zw==", + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", "dev": true, "license": "MIT", "dependencies": { - "expect-puppeteer": "^11.0.0", - "jest-environment-puppeteer": "^11.0.0" + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" }, "engines": { - "node": ">=18" + "node": ">=14" }, - "peerDependencies": { - "puppeteer": ">=19" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/loglevel": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", + "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", "dev": true, "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" + "node": ">= 0.6.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" } }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/loupe": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "yallist": "^3.0.2" } }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", "semver": "^7.5.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -16841,2230 +16551,1710 @@ "node": ">=10" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/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, - "license": "MIT", + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "tmpl": "1.0.5" } }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/markdown-it/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, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "Python-2.0" }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-websocket-mock": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/jest-websocket-mock/-/jest-websocket-mock-2.5.0.tgz", - "integrity": "sha512-a+UJGfowNIWvtIKIQBHoEWIUqRxxQHFx4CXT+R5KxxKBtEQ5rS3pPOV/5299sHzqbmeCzxxY5qE4+yfXePePig==", + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true, - "license": "MIT", - "dependencies": { - "jest-diff": "^29.2.0", - "mock-socket": "^9.3.0" - } + "license": "MIT" }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", - "dev": true, - "license": "MIT" + "node_modules/millicast-chromecast-receiver": { + "resolved": "packages/millicast-chromecast-receiver", + "link": true }, - "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } + "node_modules/millicast-multiview-demo": { + "resolved": "packages/millicast-multiview-demo", + "link": true }, - "node_modules/js-base64": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", - "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", - "license": "BSD-3-Clause" + "node_modules/millicast-publisher-demo": { + "resolved": "packages/millicast-publisher-demo", + "link": true }, - "node_modules/js-logger": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/js-logger/-/js-logger-1.6.1.tgz", - "integrity": "sha512-yTgMCPXVjhmg28CuUH8CKjU+cIKL/G+zTu4Fn4lQxs8mRFH/03QTNvEFngcxfg/gRDiQAOoyCKmMTOm9ayOzXA==", - "license": "MIT" + "node_modules/millicast-viewer-demo": { + "resolved": "packages/millicast-viewer-demo", + "link": true }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" + "node_modules/millicast-webaudio-delay-demo": { + "resolved": "packages/millicast-webaudio-delay-demo", + "link": true }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, "bin": { - "js-yaml": "bin/js-yaml.js" + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "xmlcreate": "^2.0.4" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsdoc": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", - "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^14.1.1", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^14.1.0", - "markdown-it-anchor": "^8.6.7", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "bin": { - "jsdoc": "jsdoc.js" + "mime-db": "1.52.0" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.6" } }, - "node_modules/jsdoc/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jsdom": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", - "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "abab": "^2.0.6", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true, "license": "MIT" }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "dev": true, "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-eslint-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", - "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, - "node_modules/jsonc-eslint-parser/node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/mock-socket": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", + "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 8" } }, - "node_modules/jsonc-eslint-parser/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", "license": "MIT" }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "node_modules/napi-postinstall": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.2.tgz", + "integrity": "sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.9" + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11" - } + "license": "MIT" }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/netlify-cli": { + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-22.3.0.tgz", + "integrity": "sha512-63J+xp2fmdUpJH58v+8c7PCKBg0DmNBtzPlzXf8GHDGg31N68zCgG12w+RBXC41tg8kHVK4wZi/ILzheD5pg8w==", "dev": true, + "hasInstallScript": true, + "hasShrinkwrap": true, "license": "MIT", + "dependencies": { + "@fastify/static": "7.0.4", + "@netlify/api": "14.0.3", + "@netlify/blobs": "10.0.5", + "@netlify/build": "34.2.5", + "@netlify/build-info": "10.0.7", + "@netlify/config": "23.2.0", + "@netlify/dev-utils": "3.3.0", + "@netlify/edge-bundler": "14.2.2", + "@netlify/edge-functions": "2.15.7", + "@netlify/headers-parser": "9.0.1", + "@netlify/local-functions-proxy": "2.0.3", + "@netlify/redirect-parser": "15.0.2", + "@netlify/zip-it-and-ship-it": "14.0.0", + "@octokit/rest": "21.1.1", + "@opentelemetry/api": "1.8.0", + "@pnpm/tabtab": "0.5.4", + "ansi-escapes": "7.0.0", + "ansi-to-html": "0.7.2", + "ascii-table": "0.0.9", + "backoff": "2.5.0", + "boxen": "8.0.1", + "chalk": "5.4.1", + "chokidar": "4.0.3", + "ci-info": "4.2.0", + "clean-deep": "3.4.0", + "commander": "12.1.0", + "comment-json": "4.2.5", + "content-type": "1.0.5", + "cookie": "1.0.2", + "cron-parser": "4.9.0", + "debug": "4.4.1", + "decache": "4.6.2", + "dot-prop": "9.0.0", + "dotenv": "16.5.0", + "env-paths": "3.0.0", + "envinfo": "7.14.0", + "etag": "1.8.1", + "execa": "5.1.1", + "express": "4.21.2", + "express-logging": "1.1.1", + "extract-zip": "2.0.1", + "fastest-levenshtein": "1.0.16", + "fastify": "4.29.1", + "find-up": "7.0.0", + "folder-walker": "3.2.0", + "fuzzy": "0.1.3", + "get-port": "5.1.1", + "gh-release-fetch": "4.0.3", + "git-repo-info": "2.1.1", + "gitconfiglocal": "2.1.0", + "http-proxy": "1.18.1", + "http-proxy-middleware": "2.0.9", + "https-proxy-agent": "7.0.6", + "inquirer": "8.2.6", + "inquirer-autocomplete-prompt": "1.4.0", + "ipx": "3.0.3", + "is-docker": "3.0.0", + "is-stream": "4.0.1", + "is-wsl": "3.1.0", + "isexe": "3.1.1", + "jsonwebtoken": "9.0.2", + "jwt-decode": "4.0.0", + "lambda-local": "2.2.0", + "locate-path": "7.2.0", + "lodash": "4.17.21", + "log-update": "6.1.0", + "maxstache": "1.0.7", + "maxstache-stream": "1.0.4", + "multiparty": "4.2.3", + "nanospinner": "1.2.2", + "netlify-redirector": "0.5.0", + "node-fetch": "3.3.2", + "normalize-package-data": "7.0.0", + "open": "10.1.2", + "p-filter": "4.1.0", + "p-map": "7.0.3", + "p-wait-for": "5.0.2", + "parallel-transform": "1.2.0", + "parse-github-url": "1.0.3", + "parse-gitignore": "2.0.0", + "prettyjson": "1.2.5", + "raw-body": "3.0.0", + "read-package-up": "11.0.0", + "readdirp": "4.1.2", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "terminal-link": "4.0.0", + "toml": "3.0.0", + "tomlify-j0.4": "3.0.0", + "ulid": "3.0.1", + "update-notifier": "7.3.1", + "uuid": "11.1.0", + "wait-port": "1.1.0", + "write-file-atomic": "5.0.1", + "ws": "8.18.3" + }, + "bin": { + "netlify": "bin/run.js", + "ntl": "bin/run.js" + }, "engines": { - "node": ">=6" + "node": ">=20.12.2" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/netlify-cli/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.9.0" } }, - "node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/lint-staged": { - "version": "10.5.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", - "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", + "node_modules/netlify-cli/node_modules/@babel/parser": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" + "@babel/types": "^7.27.3" }, "bin": { - "lint-staged": "bin/lint-staged.js" + "parser": "bin/babel-parser.js" }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=6.0.0" } }, - "node_modules/lint-staged/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/netlify-cli/node_modules/@babel/types": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", + "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", "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" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "node_modules/lint-staged/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/netlify-cli/node_modules/@bugsnag/browser": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-8.2.0.tgz", + "integrity": "sha512-C4BfE3eVsjOAqoXbdrPXfKbgp/hz2H7mKBU0p11Jf9uz+5gUCfZK+39JLrQKvRXwqoDcTlBSfz9Xz5kXLyHg2Q==", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "@bugsnag/core": "^8.2.0" } }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/netlify-cli/node_modules/@bugsnag/core": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-8.2.0.tgz", + "integrity": "sha512-dFSs80ZwJ508nlC6UTLTUMdHgTaHY5UKvMiuHqstCQrQrOjqFcIv+x4o+l2WrSyOpoYhHAxDlKfzKN8AjwslQw==", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@bugsnag/cuid": "^3.0.0", + "@bugsnag/safe-json-stringify": "^6.0.0", + "error-stack-parser": "^2.0.3", + "iserror": "^0.0.2", + "stack-generator": "^2.0.3" } }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } + "node_modules/netlify-cli/node_modules/@bugsnag/cuid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@bugsnag/cuid/-/cuid-3.1.1.tgz", + "integrity": "sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==", + "dev": true }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/netlify-cli/node_modules/@bugsnag/js": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-8.2.0.tgz", + "integrity": "sha512-DTtQwV1Ly5VXSOnVtzW8gSwB+ld3qIc/h0yMS836DEYUfA3V9JPwJE3+2EbD8Ea2ogkDWZ+a0jl0SNSNGiOmfA==", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" + "license": "MIT", + "dependencies": { + "@bugsnag/browser": "^8.2.0", + "@bugsnag/node": "^8.2.0" } }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "node_modules/netlify-cli/node_modules/@bugsnag/node": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-8.2.0.tgz", + "integrity": "sha512-6XC/KgX61m6YFgsBQP/GaH1UzlJkJmpi3AwlZQLsXloRh3O9lM/0EIk6+2sZm+vlz+GwxCFavcuIDgVmH/qi7Q==", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "@bugsnag/core": "^8.2.0", + "byline": "^5.0.0", + "error-stack-parser": "^2.0.3", + "iserror": "^0.0.2", + "pump": "^3.0.0", + "stack-generator": "^2.0.3" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "node_modules/netlify-cli/node_modules/@bugsnag/safe-json-stringify": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", + "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==", + "dev": true + }, + "node_modules/netlify-cli/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, - "license": "MIT", - "peer": true, "engines": { - "node": ">=6.11.5" + "node": ">=0.1.90" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/netlify-cli/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, - "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=8.9.0" + "node": ">=12" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", + "node_modules/netlify-cli/node_modules/@dabh/diagnostics": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", + "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/netlify-cli/node_modules/@dependents/detective-less": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", + "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "gonzales-pe": "^4.3.0", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "node_modules/netlify-cli/node_modules/@emnapi/runtime": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz", + "integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "tslib": "^2.4.0" } }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/netlify-cli/node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, + "node_modules/netlify-cli/node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=18.0.0" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/netlify-cli/node_modules/@envelop/instrumentation/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/loglevel": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", - "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", + "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" + "node": ">=18" } }, - "node_modules/loupe": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", - "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", + "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "Unlicense", - "peer": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "Python-2.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "marked": "bin/marked.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 12" + "node": ">=18" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" + "node": ">=18" } }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "node_modules/netlify-cli/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/netlify-cli/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=8.6" + "node": ">=18" } }, - "node_modules/millicast-chromecast-receiver": { - "resolved": "packages/millicast-chromecast-receiver", - "link": true - }, - "node_modules/millicast-multiview-demo": { - "resolved": "packages/millicast-multiview-demo", - "link": true - }, - "node_modules/millicast-publisher-demo": { - "resolved": "packages/millicast-publisher-demo", - "link": true - }, - "node_modules/millicast-viewer-demo": { - "resolved": "packages/millicast-viewer-demo", - "link": true - }, - "node_modules/millicast-webaudio-delay-demo": { - "resolved": "packages/millicast-webaudio-delay-demo", - "link": true - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/netlify-cli/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": ">= 0.6" + "node": ">=18" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">= 0.6" + "node": ">=18" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">=18" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=18" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" } }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true, - "license": "MIT" - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/netlify-cli/node_modules/@fastify/accept-negotiator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", + "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=14" } }, - "node_modules/mlly": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", - "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", + "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^8.14.0", - "pathe": "^2.0.1", - "pkg-types": "^1.3.0", - "ufo": "^1.5.4" - } - }, - "node_modules/mock-socket": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", - "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "fast-uri": "^2.0.0" } }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/ai" + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.0.tgz", - "integrity": "sha512-M7NqKyhODKV1gRLdkwE7pDsZP2/SC2a2vHkOYh9MCpKMbWVfyVfUw5MaH83Fv6XMjxr5jryUp3IDDL9rlxsTeA==", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } + ] }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "node_modules/netlify-cli/node_modules/@fastify/busboy": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz", + "integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==", + "dev": true }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT", - "peer": true + "node_modules/netlify-cli/node_modules/@fastify/error": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==", + "dev": true }, - "node_modules/netlify-cli": { - "version": "22.2.2", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-22.2.2.tgz", - "integrity": "sha512-g2NepIGfGzpSGTQr0W3LvdahytllYqkZVZiUbNKBkBwM1ZxlCc5hFCgZdYUGg0iuItvvPPd9dY8NpGL6ifhGpQ==", + "node_modules/netlify-cli/node_modules/@fastify/fast-json-stringify-compiler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", "dev": true, - "hasInstallScript": true, - "hasShrinkwrap": true, - "license": "MIT", "dependencies": { - "@fastify/static": "7.0.4", - "@netlify/api": "14.0.3", - "@netlify/blobs": "9.1.6", - "@netlify/build": "33.5.0", - "@netlify/build-info": "10.0.7", - "@netlify/config": "23.0.11", - "@netlify/edge-bundler": "14.0.6", - "@netlify/edge-functions": "2.15.5", - "@netlify/headers-parser": "9.0.1", - "@netlify/local-functions-proxy": "2.0.3", - "@netlify/redirect-parser": "15.0.2", - "@netlify/zip-it-and-ship-it": "12.2.0", - "@octokit/rest": "21.1.1", - "@opentelemetry/api": "1.8.0", - "@pnpm/tabtab": "0.5.4", - "ansi-escapes": "7.0.0", - "ansi-to-html": "0.7.2", - "ascii-table": "0.0.9", - "backoff": "2.5.0", - "boxen": "8.0.1", - "chalk": "5.4.1", - "chokidar": "3.6.0", - "ci-info": "4.2.0", - "clean-deep": "3.4.0", - "commander": "12.1.0", - "comment-json": "4.2.5", - "content-type": "1.0.5", - "cookie": "1.0.2", - "cron-parser": "4.9.0", - "debug": "4.4.0", - "decache": "4.6.2", - "dot-prop": "9.0.0", - "dotenv": "16.5.0", - "env-paths": "3.0.0", - "envinfo": "7.14.0", - "etag": "1.8.1", - "execa": "5.1.1", - "express": "4.21.2", - "express-logging": "1.1.1", - "extract-zip": "2.0.1", - "fastest-levenshtein": "1.0.16", - "fastify": "4.29.1", - "find-up": "7.0.0", - "folder-walker": "3.2.0", - "fuzzy": "0.1.3", - "get-port": "5.1.1", - "gh-release-fetch": "4.0.3", - "git-repo-info": "2.1.1", - "gitconfiglocal": "2.1.0", - "http-proxy": "1.18.1", - "http-proxy-middleware": "2.0.9", - "https-proxy-agent": "7.0.6", - "inquirer": "8.2.6", - "inquirer-autocomplete-prompt": "1.4.0", - "ipx": "2.1.0", - "is-docker": "3.0.0", - "is-stream": "4.0.1", - "is-wsl": "3.1.0", - "isexe": "3.1.1", - "jsonwebtoken": "9.0.2", - "jwt-decode": "4.0.0", - "lambda-local": "2.2.0", - "locate-path": "7.2.0", - "lodash": "4.17.21", - "log-update": "6.1.0", - "maxstache": "1.0.7", - "maxstache-stream": "1.0.4", - "multiparty": "4.2.3", - "nanospinner": "1.2.2", - "netlify-redirector": "0.5.0", - "node-fetch": "3.3.2", - "normalize-package-data": "6.0.2", - "open": "10.1.2", - "p-filter": "4.1.0", - "p-map": "7.0.3", - "p-wait-for": "5.0.2", - "parallel-transform": "1.2.0", - "parse-github-url": "1.0.3", - "parse-gitignore": "2.0.0", - "prettyjson": "1.2.5", - "raw-body": "3.0.0", - "read-package-up": "11.0.0", - "readdirp": "4.1.2", - "semver": "7.7.1", - "source-map-support": "0.5.21", - "terminal-link": "4.0.0", - "toml": "3.0.0", - "tomlify-j0.4": "3.0.0", - "ulid": "3.0.0", - "update-notifier": "7.3.1", - "uuid": "11.1.0", - "wait-port": "1.1.0", - "write-file-atomic": "5.0.1", - "ws": "8.18.2" - }, - "bin": { - "netlify": "bin/run.js", - "ntl": "bin/run.js" - }, - "engines": { - "node": ">=20.12.2" + "fast-json-stringify": "^5.7.0" } }, - "node_modules/netlify-cli/node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "node_modules/netlify-cli/node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" + "fast-deep-equal": "^3.1.3" } }, - "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "node_modules/netlify-cli/node_modules/@fastify/send": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@fastify/send/-/send-2.0.1.tgz", + "integrity": "sha512-8jdouu0o5d0FMq1+zCKeKXc1tmOQ5tTGYdQP3MpyF9+WWrZT1KCBdh6hvoEYxOm3oJG/akdE9BpehLiJgYRvGw==", "dev": true, - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@lukeed/ms": "^2.0.1", + "escape-html": "~1.0.3", + "fast-decode-uri-component": "^1.0.1", + "http-errors": "2.0.0", + "mime": "^3.0.0" } }, - "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/@babel/parser": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", - "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.27.3" - }, - "bin": { - "parser": "bin/babel-parser.js" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", - "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=10.0.0" } }, - "node_modules/netlify-cli/node_modules/@bugsnag/browser": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/browser/-/browser-8.2.0.tgz", - "integrity": "sha512-C4BfE3eVsjOAqoXbdrPXfKbgp/hz2H7mKBU0p11Jf9uz+5gUCfZK+39JLrQKvRXwqoDcTlBSfz9Xz5kXLyHg2Q==", + "node_modules/netlify-cli/node_modules/@fastify/static": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@fastify/static/-/static-7.0.4.tgz", + "integrity": "sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==", "dev": true, - "license": "MIT", "dependencies": { - "@bugsnag/core": "^8.2.0" + "@fastify/accept-negotiator": "^1.0.0", + "@fastify/send": "^2.0.0", + "content-disposition": "^0.5.3", + "fastify-plugin": "^4.0.0", + "fastq": "^1.17.0", + "glob": "^10.3.4" } }, - "node_modules/netlify-cli/node_modules/@bugsnag/core": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/core/-/core-8.2.0.tgz", - "integrity": "sha512-dFSs80ZwJ508nlC6UTLTUMdHgTaHY5UKvMiuHqstCQrQrOjqFcIv+x4o+l2WrSyOpoYhHAxDlKfzKN8AjwslQw==", + "node_modules/netlify-cli/node_modules/@humanwhocodes/momoa": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", + "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/cuid": "^3.0.0", - "@bugsnag/safe-json-stringify": "^6.0.0", - "error-stack-parser": "^2.0.3", - "iserror": "^0.0.2", - "stack-generator": "^2.0.3" + "license": "Apache-2.0", + "engines": { + "node": ">=10.10.0" } }, - "node_modules/netlify-cli/node_modules/@bugsnag/cuid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@bugsnag/cuid/-/cuid-3.1.1.tgz", - "integrity": "sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==", + "node_modules/netlify-cli/node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", "dev": true }, - "node_modules/netlify-cli/node_modules/@bugsnag/js": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/js/-/js-8.2.0.tgz", - "integrity": "sha512-DTtQwV1Ly5VXSOnVtzW8gSwB+ld3qIc/h0yMS836DEYUfA3V9JPwJE3+2EbD8Ea2ogkDWZ+a0jl0SNSNGiOmfA==", + "node_modules/netlify-cli/node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/browser": "^8.2.0", - "@bugsnag/node": "^8.2.0" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/node": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@bugsnag/node/-/node-8.2.0.tgz", - "integrity": "sha512-6XC/KgX61m6YFgsBQP/GaH1UzlJkJmpi3AwlZQLsXloRh3O9lM/0EIk6+2sZm+vlz+GwxCFavcuIDgVmH/qi7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bugsnag/core": "^8.2.0", - "byline": "^5.0.0", - "error-stack-parser": "^2.0.3", - "iserror": "^0.0.2", - "pump": "^3.0.0", - "stack-generator": "^2.0.3" - } - }, - "node_modules/netlify-cli/node_modules/@bugsnag/safe-json-stringify": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz", - "integrity": "sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==", - "dev": true - }, - "node_modules/netlify-cli/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, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/netlify-cli/node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@dabh/diagnostics": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", - "dev": true, - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@dependents/detective-less": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@dependents/detective-less/-/detective-less-5.0.1.tgz", - "integrity": "sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@envelop/instrumentation": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", - "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", - "dev": true, - "dependencies": { - "@whatwg-node/promise-helpers": "^1.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@envelop/instrumentation/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "node_modules/netlify-cli/node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "freebsd" + "darwin" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "freebsd" + "darwin" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", "cpu": [ - "ia32" + "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", "cpu": [ - "loong64" + "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", "cpu": [ - "mips64el" + "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "node_modules/netlify-cli/node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", "cpu": [ - "ppc64" + "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], - "engines": { - "node": ">=18" + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "node_modules/netlify-cli/node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", "cpu": [ - "riscv64" + "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "node_modules/netlify-cli/node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", "cpu": [ - "s390x" + "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "node_modules/netlify-cli/node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", "cpu": [ - "x64" + "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "node_modules/netlify-cli/node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "netbsd" + "linux" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "node_modules/netlify-cli/node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", "optional": true, "os": [ - "openbsd" + "linux" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "node_modules/netlify-cli/node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "sunos" + "linux" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" } }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "node_modules/netlify-cli/node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, - "license": "MIT", "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "node_modules/netlify-cli/node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "node_modules/netlify-cli/node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=18" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/netlify-cli/node_modules/@fastify/accept-negotiator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", - "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", + "node_modules/netlify-cli/node_modules/@import-maps/resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-2.0.0.tgz", + "integrity": "sha512-RwzRTpmrrS6Q1ZhQExwuxJGK1Wqhv4stt+OF2JzS+uawewpwNyU7EJL1WpBex7aDiiGLs4FsXGkfUBdYuX7xiQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=14" + "node": ">=12" } }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", - "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", + "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "ajv": "^8.11.0", - "ajv-formats": "^2.1.1", - "fast-uri": "^2.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/ajv/node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/netlify-cli/node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@fastify/busboy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz", - "integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@fastify/error": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", - "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", - "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", + "node_modules/netlify-cli/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, "dependencies": { - "fast-json-stringify": "^5.7.0" + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/node_modules/@fastify/merge-json-schemas": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", - "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", + "node_modules/netlify-cli/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/netlify-cli/node_modules/@fastify/send": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@fastify/send/-/send-2.0.1.tgz", - "integrity": "sha512-8jdouu0o5d0FMq1+zCKeKXc1tmOQ5tTGYdQP3MpyF9+WWrZT1KCBdh6hvoEYxOm3oJG/akdE9BpehLiJgYRvGw==", + "node_modules/netlify-cli/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "@lukeed/ms": "^2.0.1", - "escape-html": "~1.0.3", - "fast-decode-uri-component": "^1.0.1", - "http-errors": "2.0.0", - "mime": "^3.0.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/netlify-cli/node_modules/@lukeed/ms": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.1.tgz", + "integrity": "sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/send/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@fastify/static": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@fastify/static/-/static-7.0.4.tgz", - "integrity": "sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==", - "dev": true, - "dependencies": { - "@fastify/accept-negotiator": "^1.0.0", - "@fastify/send": "^2.0.0", - "content-disposition": "^0.5.3", - "fastify-plugin": "^4.0.0", - "fastq": "^1.17.0", - "glob": "^10.3.4" - } - }, - "node_modules/netlify-cli/node_modules/@humanwhocodes/momoa": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", - "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/netlify-cli/node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@import-maps/resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-2.0.0.tgz", - "integrity": "sha512-RwzRTpmrrS6Q1ZhQExwuxJGK1Wqhv4stt+OF2JzS+uawewpwNyU7EJL1WpBex7aDiiGLs4FsXGkfUBdYuX7xiQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/netlify-cli/node_modules/@lukeed/ms": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.1.tgz", - "integrity": "sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp": { + "node_modules/netlify-cli/node_modules/@mapbox/node-pre-gyp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-2.0.0.tgz", "integrity": "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==", @@ -19130,12 +18320,12 @@ "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/blobs": { - "version": "9.1.6", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.6.tgz", - "integrity": "sha512-RR3t5fv7CkGVJiylOTLf/YaHPyrcWmhHW3zX3EK/9UQsnTi8jPxP7B2nyjgRjAx5S4YTzJQP+FmbQlGKdogALQ==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-10.0.5.tgz", + "integrity": "sha512-igbARa6gUII83lZdloe0zQzf2YLqJOZ3/3k2GMkEFFNxfLptAjvnh1z6WtFVV6bbO2IR2qOeuS2uaWRXeTNtlw==", "dev": true, "dependencies": { - "@netlify/dev-utils": "3.2.0", + "@netlify/dev-utils": "3.3.0", "@netlify/runtime-utils": "2.1.0" }, "engines": { @@ -19143,22 +18333,22 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/build": { - "version": "33.5.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-33.5.0.tgz", - "integrity": "sha512-v/oMAl8WntSAKRNkOauMJ9h93MuG/Axw0S8dQKRVe2eANb6OZqq/t4r2tSsEZplNkZNKP0D8vG7TpsN4ZtWwGw==", + "version": "34.2.5", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-34.2.5.tgz", + "integrity": "sha512-ArhIDMrixprQ1c3i+BLxghZut6Uhjt0A+/wgiwNjXrlvjQdngFB14eTiOl952wopjZ62CrxROfARcXSgwIwwEQ==", "dev": true, "dependencies": { "@bugsnag/js": "^8.0.0", - "@netlify/blobs": "^10.0.1", + "@netlify/blobs": "^10.0.4", "@netlify/cache-utils": "^6.0.3", - "@netlify/config": "^23.0.11", - "@netlify/edge-bundler": "14.0.6", - "@netlify/functions-utils": "^6.0.12", + "@netlify/config": "^23.2.0", + "@netlify/edge-bundler": "14.2.2", + "@netlify/functions-utils": "^6.1.1", "@netlify/git-utils": "^6.0.2", "@netlify/opentelemetry-utils": "^2.0.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^6.0.2", - "@netlify/zip-it-and-ship-it": "12.2.0", + "@netlify/zip-it-and-ship-it": "14.0.0", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^7.0.0", "chalk": "^5.0.0", @@ -19167,7 +18357,7 @@ "fdir": "^6.0.1", "figures": "^6.0.0", "filter-obj": "^6.0.0", - "hot-shots": "10.2.1", + "hot-shots": "11.1.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "keep-func-props": "^6.0.0", @@ -19267,44 +18457,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/blobs": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-10.0.2.tgz", - "integrity": "sha512-KGw91EKZ997MdK/HkjwgzZi1ni4B3XwYjrwnUoCb5E3JYt/P7aVYZ1O8G39VwVnaggyemd99TOnEkNaI9iPJiw==", - "dev": true, - "dependencies": { - "@netlify/dev-utils": "3.2.1", - "@netlify/runtime-utils": "2.1.0" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/@netlify/dev-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.1.tgz", - "integrity": "sha512-a96wZheD3duD20aEJXBIui73GewRIcKwsXyzyFyerrsDffQjaWFuWxU9fnVSiunl6UVrvpBjWMJRGkCv4zf2KQ==", - "dev": true, - "dependencies": { - "@whatwg-node/server": "^0.10.0", - "ansis": "^4.1.0", - "chokidar": "^4.0.1", - "decache": "^4.6.2", - "dot-prop": "9.0.0", - "env-paths": "^3.0.0", - "find-up": "7.0.0", - "image-size": "^2.0.2", - "js-image-generator": "^1.0.4", - "lodash.debounce": "^4.0.8", - "parse-gitignore": "^2.0.0", - "semver": "^7.7.2", - "uuid": "^11.1.0", - "write-file-atomic": "^5.0.1" - }, - "engines": { - "node": "^18.14.0 || >=20" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -19314,21 +18466,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/emoji-regex": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", @@ -19490,18 +18627,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/netlify-cli/node_modules/@netlify/build/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -19600,9 +18725,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/config": { - "version": "23.0.11", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.11.tgz", - "integrity": "sha512-x104BMKAUpC5XvTtMNSHpPt+pN/Cnkv2AqRYqqOICeurXt/mt8D+PQCOZhbOAYlThBa7TaZ5uq7VMJGQVTRDJA==", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.2.0.tgz", + "integrity": "sha512-zlI792/efPUY1XKtBML2OJBgKMyfNQIeGEYibH8SqeDxPjNuCy0qELE0U9Sc6+Ss34XryPBUPdV60tYhSoe6lw==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", @@ -19624,6 +18749,7 @@ "omit.js": "^2.0.2", "p-locate": "^6.0.0", "path-type": "^6.0.0", + "read-package-up": "^11.0.0", "tomlify-j0.4": "^3.0.0", "validate-npm-package-name": "^5.0.0", "yaml": "^2.8.0", @@ -19789,9 +18915,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/dev-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.0.tgz", - "integrity": "sha512-5QPVts2j7RHMNVPVB7E28TC564TarS2JDTfMzKGzCrAY35bvOcfJ60Hhp8DOVjI13+BJgN37srUJP4OBDIXCfg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.3.0.tgz", + "integrity": "sha512-bW8akt30XHUY3Yh4x7pB/Yis5yCafQxbfAGAAZgHlOYfG1WqlazFsTd9OvW5d8C3g3Y2H/JA2Oy03pTBFPtSkg==", "dev": true, "dependencies": { "@whatwg-node/server": "^0.10.0", @@ -19805,6 +18931,8 @@ "js-image-generator": "^1.0.4", "lodash.debounce": "^4.0.8", "parse-gitignore": "^2.0.0", + "semver": "^7.7.2", + "tmp-promise": "^3.0.3", "uuid": "^11.1.0", "write-file-atomic": "^5.0.1" }, @@ -19812,27 +18940,11 @@ "node": "^18.14.0 || >=20" } }, - "node_modules/netlify-cli/node_modules/@netlify/dev-utils/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler": { - "version": "14.0.6", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-14.0.6.tgz", - "integrity": "sha512-wfIS26778TG34C3Ma4vhYVTviUuZMD1cWVW/G3m9qZ4MPqC3xII66mmJOdHSfBhwXNeu8tt/b3YoFO0b/nJO0Q==", + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-14.2.2.tgz", + "integrity": "sha512-APXlNsMioyd1AMECuWkkxJ6eoASYwXs8T8149IuM65KhQMR40OsPpcgt/ceg/0GydXceymHqZnkNwbapqgnvOg==", "dev": true, - "license": "MIT", "dependencies": { "@import-maps/resolve": "^2.0.0", "ajv": "^8.11.2", @@ -19840,7 +18952,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.5", + "esbuild": "0.25.6", "execa": "^8.0.0", "find-up": "^7.0.0", "get-package-name": "^2.2.0", @@ -20030,15 +19142,16 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-functions": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.15.5.tgz", - "integrity": "sha512-hm4NnhmDxwICuuaO2mw9HS1T3Pd2TEFU+xIItG09534vYddvCQ/6fAjT3LQQoyCWreEBUYvYn7Ml7kV4mMFb0w==", + "version": "2.15.7", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.15.7.tgz", + "integrity": "sha512-VVKxtocaRYBcs/+7ugvtAyTb0V5/qcBrQjWWxEPcotJC2xYat8b63M/+VTayDhbEqmKmGXj6FwSWG96xtODrbQ==", "dev": true, "dependencies": { - "@netlify/dev-utils": "3.2.2", + "@netlify/dev-utils": "3.3.0", "@netlify/edge-bundler": "^14.0.6", "@netlify/edge-functions-bootstrap": "^2.14.0", "@netlify/runtime-utils": "2.1.0", + "@netlify/types": "2.0.2", "get-port": "^7.1.0" }, "engines": { @@ -20051,47 +19164,6 @@ "integrity": "sha512-Fs1cQ+XKfKr2OxrAvmX+S46CJmrysxBdCUCTk/wwcCZikrDvsYUFG7FTquUl4JfAf9taYYyW/tPv35gKOKS8BQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/@netlify/dev-utils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-3.2.2.tgz", - "integrity": "sha512-ECz/xEaqhAPUoFkeC2Ofpky1HBEKwPCsAL66iK/dLFHUFs39SC3y6Bn5QY76DzONmt+RjWmoYkSIEhJ1xAWHfA==", - "dev": true, - "dependencies": { - "@whatwg-node/server": "^0.10.0", - "ansis": "^4.1.0", - "chokidar": "^4.0.1", - "decache": "^4.6.2", - "dot-prop": "9.0.0", - "env-paths": "^3.0.0", - "find-up": "7.0.0", - "image-size": "^2.0.2", - "js-image-generator": "^1.0.4", - "lodash.debounce": "^4.0.8", - "parse-gitignore": "^2.0.0", - "semver": "^7.7.2", - "tmp-promise": "^3.0.3", - "uuid": "^11.1.0", - "write-file-atomic": "^5.0.1" - }, - "engines": { - "node": "^18.14.0 || >=20" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/get-port": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", @@ -20104,25 +19176,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/@netlify/edge-functions/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/netlify-cli/node_modules/@netlify/functions-utils": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-6.0.12.tgz", - "integrity": "sha512-wo3IdsyQBz9t3BsUo2c8Sa3tS7pZvZeyt/krDRB/Iipcq3pheUA5jwwelkh0aoKD3rkBhY5Y/jnhMyqmilpGig==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-6.1.1.tgz", + "integrity": "sha512-30FsYxx60zyBa4gmd481gkmW3TUL694prkmIKX4Qn5X9tftiLW4aDFzBtFZwk503T0GunZweSl63Pu0GTDeXzQ==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "12.2.0", + "@netlify/zip-it-and-ship-it": "14.0.0", "cpy": "^11.0.0", "path-exists": "^5.0.0" }, @@ -20717,22 +19777,31 @@ "node": "^18.14.0 || >=20" } }, + "node_modules/netlify-cli/node_modules/@netlify/types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@netlify/types/-/types-2.0.2.tgz", + "integrity": "sha512-6899BAqehToSAd3hoevqGaIkG0M9epPMLTi6byynNVIzqv2x+b9OtRXqK67G/gCX7XkrtLQ9Xm3QNJmaFNrSXA==", + "dev": true, + "engines": { + "node": "^18.14.0 || >=20" + } + }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-12.2.0.tgz", - "integrity": "sha512-64tKrE4bGGh/uChrCKQ1g6rDmY+Jl95bh+GGeP1mzIOcXmZHFja8sWMyaKv8iOxIiPdaJCQuhadSmE4ATUDVFg==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-14.0.0.tgz", + "integrity": "sha512-bGSjyuU4m3EITjwTWg2fuGPwAxLJUijOs9SZSNRjMayhYzS+7B23GOi/oDWjZXq/thlyGO4jy25ruh02iW9pkg==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", - "@babel/types": "7.27.6", + "@babel/types": "7.28.0", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^2.1.2", + "@netlify/serverless-functions-api": "^2.1.3", "@vercel/nft": "0.29.4", "archiver": "^7.0.0", "common-path-prefix": "^3.0.0", "copy-file": "^11.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.25.5", + "esbuild": "0.25.6", "execa": "^8.0.0", "fast-glob": "^3.3.3", "filter-obj": "^6.0.0", @@ -20765,9 +19834,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-2.1.2.tgz", - "integrity": "sha512-uEFA0LAcBGd3+fgDSLkTTsrgyooKqu8mN/qA+F/COS2A7NFWRcLFnjVKH/xZhxq+oQkrSa+XPS9qj2wgQosiQw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-2.1.3.tgz", + "integrity": "sha512-bNlN/hpND8xFQzpjyKxm6vJayD+bPBlOvs4lWihE7WULrphuH1UuFsoVE5386bNNGH8Rs1IH01AFsl7ALQgOlQ==", "dev": true, "engines": { "node": ">=18.0.0" @@ -21133,9 +20202,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -21152,24 +20221,25 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", "cpu": [ "arm64" ], @@ -21187,9 +20257,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", "cpu": [ "arm64" ], @@ -21207,9 +20277,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", "cpu": [ "x64" ], @@ -21227,9 +20297,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", "cpu": [ "x64" ], @@ -21247,9 +20317,29 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", "cpu": [ "arm" ], @@ -21267,9 +20357,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", "cpu": [ "arm64" ], @@ -21287,9 +20377,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", "cpu": [ "arm64" ], @@ -21307,9 +20397,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", "cpu": [ "x64" ], @@ -21327,9 +20417,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", "cpu": [ "x64" ], @@ -21347,9 +20437,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.0.tgz", - "integrity": "sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.5.1.tgz", + "integrity": "sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw==", "bundleDependencies": [ "napi-wasm" ], @@ -21374,9 +20464,9 @@ "license": "MIT" }, "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", "cpu": [ "arm64" ], @@ -21394,9 +20484,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", "cpu": [ "ia32" ], @@ -21414,9 +20504,9 @@ } }, "node_modules/netlify-cli/node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", "cpu": [ "x64" ], @@ -21659,2304 +20749,802 @@ "optional": true, "os": [ "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", - "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", - "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", - "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", - "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", - "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", - "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", - "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", - "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", - "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", - "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", - "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/netlify-cli/node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/slugify": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", - "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", - "dev": true, - "dependencies": { - "@sindresorhus/transliterate": "^1.0.0", - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.5.0.tgz", - "integrity": "sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0", - "lodash.deburr": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/netlify-cli/node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true - }, - "node_modules/netlify-cli/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, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/node": { - "version": "18.19.86", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.86.tgz", - "integrity": "sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/netlify-cli/node_modules/@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/netlify-cli/node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.26.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/netlify-cli/node_modules/@vercel/nft": { - "version": "0.29.4", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.4.tgz", - "integrity": "sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==", - "dev": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^2.0.0", - "@rollup/pluginutils": "^5.1.3", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.5", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^10.4.5", - "graceful-fs": "^4.2.9", - "node-gyp-build": "^4.2.2", - "picomatch": "^4.0.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/@vue/compiler-core": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.16.tgz", - "integrity": "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.27.2", - "@vue/shared": "3.5.16", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/@vue/compiler-dom": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.16.tgz", - "integrity": "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==", - "dev": true, - "dependencies": { - "@vue/compiler-core": "3.5.16", - "@vue/shared": "3.5.16" - } - }, - "node_modules/netlify-cli/node_modules/@vue/compiler-sfc": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.16.tgz", - "integrity": "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.27.2", - "@vue/compiler-core": "3.5.16", - "@vue/compiler-dom": "3.5.16", - "@vue/compiler-ssr": "3.5.16", - "@vue/shared": "3.5.16", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.17", - "postcss": "^8.5.3", - "source-map-js": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/@vue/compiler-ssr": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.16.tgz", - "integrity": "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.5.16", - "@vue/shared": "3.5.16" - } - }, - "node_modules/netlify-cli/node_modules/@vue/shared": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.16.tgz", - "integrity": "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", - "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", - "dev": true, - "dependencies": { - "@whatwg-node/promise-helpers": "^1.0.0", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/fetch": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.8.tgz", - "integrity": "sha512-Rw9z3ctmeEj8QIB9MavkNJqekiu9usBCSMZa+uuAvM0lF3v70oQVCXNppMIqaV6OTZbdaHF1M2HLow58DEw+wg==", - "dev": true, - "dependencies": { - "@whatwg-node/node-fetch": "^0.7.21", - "urlpattern-polyfill": "^10.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/fetch/node_modules/urlpattern-polyfill": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", - "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch": { - "version": "0.7.21", - "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.7.21.tgz", - "integrity": "sha512-QC16IdsEyIW7kZd77aodrMO7zAoDyyqRCTLg+qG4wqtP4JV9AA+p7/lgqMdD29XyiYdVvIdFrfI9yh7B1QvRvw==", - "dev": true, - "dependencies": { - "@fastify/busboy": "^3.1.1", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/promise-helpers": "^1.3.2", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", - "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", - "dev": true, - "dependencies": { - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/server": { - "version": "0.10.10", - "resolved": "https://registry.npmjs.org/@whatwg-node/server/-/server-0.10.10.tgz", - "integrity": "sha512-GwpdMgUmwIp0jGjP535YtViP/nnmETAyHpGPWPZKdX++Qht/tSLbGXgFUMSsQvEACmZAR1lAPNu2CnYL1HpBgg==", - "dev": true, - "dependencies": { - "@envelop/instrumentation": "^1.0.0", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/fetch": "^0.10.8", - "@whatwg-node/promise-helpers": "^1.3.2", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@whatwg-node/server/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/archive-type": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-6.0.1.tgz", - "integrity": "sha512-PB3NeJL8xARZt52yDBupK0dNPn8uIVQDe15qNehUpoeeLWCZyAOam4vGXnoZGz2N9D1VXtjievJuCsXam2TmbQ==", - "dev": true, - "dependencies": { - "file-type": "^18.5.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-9.0.1.tgz", - "integrity": "sha512-9Lvlt6Qdpo9SaRQyRIXCo3lgU++eMZ68lzgjcTwtuKDrlwT635+5zsHZ1yrSx/Blc5IDuVLlPkBPj5CZkx+2+Q==", - "dev": true, - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "@xhmikosr/decompress-tarbz2": "^7.0.0", - "@xhmikosr/decompress-targz": "^7.0.0", - "@xhmikosr/decompress-unzip": "^6.0.0", - "graceful-fs": "^4.2.11", - "make-dir": "^4.0.0", - "strip-dirs": "^3.0.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-7.0.0.tgz", - "integrity": "sha512-kyWf2hybtQVbWtB+FdRyOT+jyR5jxCNZPLqvQGB7djZj75lrpLUPEmRbyo86AtJ5OEtivpYaNWjCkqSJ8xtRWw==", - "dev": true, - "dependencies": { - "file-type": "^18.5.0", - "is-stream": "^3.0.0", - "tar-stream": "^3.1.4" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-7.0.0.tgz", - "integrity": "sha512-3QnjipYkRgh3Dee1MWDgKmANWxOQBVN4e1IwiGNe2fHYfMYTeSkVvWREt87UIoSucKUh3E95v8uGFttgTknZcA==", - "dev": true, - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "file-type": "^18.5.0", - "is-stream": "^3.0.0", - "seek-bzip": "^1.0.6", - "unbzip2-stream": "^1.4.3" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-7.0.0.tgz", - "integrity": "sha512-7BNHJl92g9OLhw89zqcFS67V1LAtm4Ex02j6OiQzuE8P7Yy9lQcyBuEL3x6v436grLdL+BcFjgbmhWxnem4GHw==", - "dev": true, - "dependencies": { - "@xhmikosr/decompress-tar": "^7.0.0", - "file-type": "^18.5.0", - "is-stream": "^3.0.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-unzip": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-6.0.0.tgz", - "integrity": "sha512-R1HAkjXLS7RAL74YFLxYY9zYflCcYGssld9KKFDu87PnJ4h4btdhzXfSC8J5i5A2njH3oYIoCzx03RIGTH07Sg==", - "dev": true, - "dependencies": { - "file-type": "^18.5.0", - "get-stream": "^6.0.1", - "yauzl": "^2.10.0" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/decompress/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-13.0.1.tgz", - "integrity": "sha512-mBvWew1kZJHfNQVVfVllMjUDwCGN9apPa0t4/z1zaUJ9MzpXjRL3w8fsfJKB8gHN/h4rik9HneKfDbh2fErN+w==", - "dev": true, - "dependencies": { - "@xhmikosr/archive-type": "^6.0.1", - "@xhmikosr/decompress": "^9.0.1", - "content-disposition": "^0.5.4", - "ext-name": "^5.0.0", - "file-type": "^18.5.0", - "filenamify": "^5.1.1", - "get-stream": "^6.0.1", - "got": "^12.6.1", - "merge-options": "^3.0.4", - "p-event": "^5.0.1" - }, - "engines": { - "node": "^14.14.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filenamify": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", - "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^3.0.0", - "strip-outer": "^2.0.0", - "trim-repeated": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/strip-outer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", - "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/trim-repeated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", - "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/netlify-cli/node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/netlify-cli/node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/netlify-cli/node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/netlify-cli/node_modules/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, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/netlify-cli/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, - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/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, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/netlify-cli/node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "dev": true, - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/ansi-to-html": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.7.2.tgz", - "integrity": "sha512-v6MqmEpNlxF+POuyhKkidusCHWWkaLcGRURzivcU3I9tv7k4JVhFcnukrM5Rlk2rUywdZuzYAZ+kbZqWCnfN3g==", - "dev": true, - "dependencies": { - "entities": "^2.2.0" - }, - "bin": { - "ansi-to-html": "bin/ansi-to-html" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/ansi-to-html/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/ansis": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", - "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/netlify-cli/node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/netlify-cli/node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", - "dev": true, - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "dev": true, - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/archiver/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/netlify-cli/node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/array-timsort": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", - "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/ascii-table": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", - "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/ast-module-types": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz", - "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/async-sema": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", - "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/netlify-cli/node_modules/atomically": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.0.3.tgz", - "integrity": "sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==", - "dev": true, - "dependencies": { - "stubborn-fs": "^1.2.5", - "when-exit": "^2.1.1" - } - }, - "node_modules/netlify-cli/node_modules/avvio": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", - "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", - "dev": true, - "dependencies": { - "@fastify/error": "^3.3.0", - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.17.1" - } - }, - "node_modules/netlify-cli/node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", - "dev": true, - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/bare-events": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", - "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", - "dev": true, - "optional": true - }, - "node_modules/netlify-cli/node_modules/bare-fs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", - "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", - "dev": true, - "optional": true, - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", - "dev": true, - "optional": true, - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/netlify-cli/node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "dev": true, - "optional": true, - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/netlify-cli/node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", - "dev": true, - "optional": true, - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", - "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@humanwhocodes/momoa": "^2.0.2", - "chalk": "^4.1.2", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0 < 4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "peerDependencies": { - "ajv": "4.11.8 - 8" - } - }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + ], + "peer": true + }, + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "cpu": [ + "loong64" + ], "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" - } + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", + "cpu": [ + "s390x" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "ms": "2.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", + "cpu": [ + "x64" + ], "dev": true, - "engines": { - "node": ">= 0.8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/netlify-cli/node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, "engines": { - "node": ">= 0.8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/body-parser/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/netlify-cli/node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/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 - }, - "node_modules/netlify-cli/node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "node_modules/netlify-cli/node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", "dev": true, "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" + "@sindresorhus/transliterate": "^1.0.0", + "escape-string-regexp": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "node_modules/netlify-cli/node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "engines": { - "node": ">=16" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.5.0.tgz", + "integrity": "sha512-/sfSkoNelLq5riqNRp5uBjHIKBi1MWZk9ubRT1WiBQuTfmDf7BeQkph2DJzRB83QagMPHk2VDjuvpy0VuwyzdA==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "escape-string-regexp": "^5.0.0", + "lodash.deburr": "^4.1.0" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/netlify-cli/node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/boxen/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/netlify-cli/node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=14.16" } }, - "node_modules/netlify-cli/node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/netlify-cli/node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true + }, + "node_modules/netlify-cli/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, - "dependencies": { - "fill-range": "^7.1.1" - }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/netlify-cli/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/netlify-cli/node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "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" - } - ], + "optional": true, + "peer": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/netlify-cli/node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, - "engines": { - "node": "*" + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true + "node_modules/netlify-cli/node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" }, - "node_modules/netlify-cli/node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "node_modules/netlify-cli/node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/netlify-cli/node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/netlify-cli/node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true }, - "node_modules/netlify-cli/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==", + "node_modules/netlify-cli/node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "node_modules/netlify-cli/node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/netlify-cli/node_modules/@types/node": { + "version": "18.19.118", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.118.tgz", + "integrity": "sha512-hIPK0hSrrcaoAu/gJMzN3QClXE4QdCdFvaenJ0JsjIbExP1JFFVH+RHcBt25c9n8bx5dkIfqKE+uw6BmBns7ug==", "dev": true, "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "undici-types": "~5.26.4" } }, - "node_modules/netlify-cli/node_modules/byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "node_modules/netlify-cli/node_modules/@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/netlify-cli/node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "optional": true, + "peer": true }, - "node_modules/netlify-cli/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/netlify-cli/node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true, - "engines": { - "node": ">= 0.8" - } + "optional": true, + "peer": true }, - "node_modules/netlify-cli/node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/netlify-cli/node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, - "engines": { - "node": ">=14.16" + "optional": true, + "peer": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "node_modules/netlify-cli/node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", "dev": true, + "optional": true, "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" + "@types/node": "*" } }, - "node_modules/netlify-cli/node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/netlify-cli/node_modules/@typescript-eslint/types": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", + "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/netlify-cli/node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", + "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/netlify-cli/node_modules/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "engines": { - "node": "*" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "node_modules/netlify-cli/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/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 - }, - "node_modules/netlify-cli/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", + "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", "dev": true, + "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@typescript-eslint/types": "8.26.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": ">= 8.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/netlify-cli/node_modules/chokidar/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/netlify-cli/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=8.6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://opencollective.com/eslint" } }, - "node_modules/netlify-cli/node_modules/chokidar/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/netlify-cli/node_modules/@vercel/nft": { + "version": "0.29.4", + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.4.tgz", + "integrity": "sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "@mapbox/node-pre-gyp": "^2.0.0", + "@rollup/pluginutils": "^5.1.3", + "acorn": "^8.6.0", + "acorn-import-attributes": "^1.9.5", + "async-sema": "^3.1.1", + "bindings": "^1.4.0", + "estree-walker": "2.0.2", + "glob": "^10.4.5", + "graceful-fs": "^4.2.9", + "node-gyp-build": "^4.2.2", + "picomatch": "^4.0.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "nft": "out/cli.js" }, "engines": { - "node": ">=8.10.0" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "node_modules/netlify-cli/node_modules/@vue/compiler-core": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.16.tgz", + "integrity": "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "@babel/parser": "^7.27.2", + "@vue/shared": "3.5.16", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/ci-info": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", - "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", + "node_modules/netlify-cli/node_modules/@vue/compiler-dom": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.16.tgz", + "integrity": "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@vue/compiler-core": "3.5.16", + "@vue/shared": "3.5.16" } }, - "node_modules/netlify-cli/node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "node_modules/netlify-cli/node_modules/@vue/compiler-sfc": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.16.tgz", + "integrity": "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==", "dev": true, "dependencies": { - "consola": "^3.2.3" + "@babel/parser": "^7.27.2", + "@vue/compiler-core": "3.5.16", + "@vue/compiler-dom": "3.5.16", + "@vue/compiler-ssr": "3.5.16", + "@vue/shared": "3.5.16", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.3", + "source-map-js": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/clean-deep": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/clean-deep/-/clean-deep-3.4.0.tgz", - "integrity": "sha512-Lo78NV5ItJL/jl+B5w0BycAisaieJGXK1qYi/9m4SjR8zbqmrUtO7Yhro40wEShGmmxs/aJLI/A+jNhdkXK8mw==", + "node_modules/netlify-cli/node_modules/@vue/compiler-ssr": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.16.tgz", + "integrity": "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==", "dev": true, "dependencies": { - "lodash.isempty": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.transform": "^4.6.0" - }, - "engines": { - "node": ">=4" + "@vue/compiler-dom": "3.5.16", + "@vue/shared": "3.5.16" } }, - "node_modules/netlify-cli/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "node_modules/netlify-cli/node_modules/@vue/shared": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.16.tgz", + "integrity": "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", + "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", "dev": true, "dependencies": { - "escape-string-regexp": "5.0.0" + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/node_modules/clean-stack/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/netlify-cli/node_modules/@whatwg-node/disposablestack/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/fetch": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.8.tgz", + "integrity": "sha512-Rw9z3ctmeEj8QIB9MavkNJqekiu9usBCSMZa+uuAvM0lF3v70oQVCXNppMIqaV6OTZbdaHF1M2HLow58DEw+wg==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "@whatwg-node/node-fetch": "^0.7.21", + "urlpattern-polyfill": "^10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "node_modules/netlify-cli/node_modules/@whatwg-node/fetch/node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.7.21.tgz", + "integrity": "sha512-QC16IdsEyIW7kZd77aodrMO7zAoDyyqRCTLg+qG4wqtP4JV9AA+p7/lgqMdD29XyiYdVvIdFrfI9yh7B1QvRvw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@fastify/busboy": "^3.1.1", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/netlify-cli/node_modules/@whatwg-node/node-fetch/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", + "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "tslib": "^2.6.3" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/netlify-cli/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/netlify-cli/node_modules/@whatwg-node/promise-helpers/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@whatwg-node/server": { + "version": "0.10.10", + "resolved": "https://registry.npmjs.org/@whatwg-node/server/-/server-0.10.10.tgz", + "integrity": "sha512-GwpdMgUmwIp0jGjP535YtViP/nnmETAyHpGPWPZKdX++Qht/tSLbGXgFUMSsQvEACmZAR1lAPNu2CnYL1HpBgg==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.8", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/netlify-cli/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==", + "node_modules/netlify-cli/node_modules/@whatwg-node/server/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@xhmikosr/archive-type": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-6.0.1.tgz", + "integrity": "sha512-PB3NeJL8xARZt52yDBupK0dNPn8uIVQDe15qNehUpoeeLWCZyAOam4vGXnoZGz2N9D1VXtjievJuCsXam2TmbQ==", "dev": true, + "dependencies": { + "file-type": "^18.5.0" + }, "engines": { - "node": ">= 10" + "node": "^14.14.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-9.0.1.tgz", + "integrity": "sha512-9Lvlt6Qdpo9SaRQyRIXCo3lgU++eMZ68lzgjcTwtuKDrlwT635+5zsHZ1yrSx/Blc5IDuVLlPkBPj5CZkx+2+Q==", "dev": true, "dependencies": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" + "@xhmikosr/decompress-tar": "^7.0.0", + "@xhmikosr/decompress-tarbz2": "^7.0.0", + "@xhmikosr/decompress-targz": "^7.0.0", + "@xhmikosr/decompress-unzip": "^6.0.0", + "graceful-fs": "^4.2.11", + "make-dir": "^4.0.0", + "strip-dirs": "^3.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.14.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-7.0.0.tgz", + "integrity": "sha512-kyWf2hybtQVbWtB+FdRyOT+jyR5jxCNZPLqvQGB7djZj75lrpLUPEmRbyo86AtJ5OEtivpYaNWjCkqSJ8xtRWw==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", + "file-type": "^18.5.0", "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "tar-stream": "^3.1.4" }, "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": "^14.14.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tar/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "engines": { - "node": ">=16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-7.0.0.tgz", + "integrity": "sha512-3QnjipYkRgh3Dee1MWDgKmANWxOQBVN4e1IwiGNe2fHYfMYTeSkVvWREt87UIoSucKUh3E95v8uGFttgTknZcA==", "dev": true, + "dependencies": { + "@xhmikosr/decompress-tar": "^7.0.0", + "file-type": "^18.5.0", + "is-stream": "^3.0.0", + "seek-bzip": "^1.0.6", + "unbzip2-stream": "^1.4.3" + }, "engines": { - "node": ">=16.17.0" + "node": "^14.14.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/is-stream": { + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-tarbz2/node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", @@ -23968,14 +21556,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-7.0.0.tgz", + "integrity": "sha512-7BNHJl92g9OLhw89zqcFS67V1LAtm4Ex02j6OiQzuE8P7Yy9lQcyBuEL3x6v436grLdL+BcFjgbmhWxnem4GHw==", "dev": true, "dependencies": { - "path-key": "^4.0.0" + "@xhmikosr/decompress-tar": "^7.0.0", + "file-type": "^18.5.0", + "is-stream": "^3.0.0" }, + "engines": { + "node": "^14.14.0 || >=16.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-targz/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -23983,14 +21582,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/onetime": { + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress-unzip": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-6.0.0.tgz", + "integrity": "sha512-R1HAkjXLS7RAL74YFLxYY9zYflCcYGssld9KKFDu87PnJ4h4btdhzXfSC8J5i5A2njH3oYIoCzx03RIGTH07Sg==", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" + "file-type": "^18.5.0", + "get-stream": "^6.0.1", + "yauzl": "^2.10.0" + }, + "engines": { + "node": "^14.14.0 || >=16.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@xhmikosr/decompress/node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-13.0.1.tgz", + "integrity": "sha512-mBvWew1kZJHfNQVVfVllMjUDwCGN9apPa0t4/z1zaUJ9MzpXjRL3w8fsfJKB8gHN/h4rik9HneKfDbh2fErN+w==", + "dev": true, + "dependencies": { + "@xhmikosr/archive-type": "^6.0.1", + "@xhmikosr/decompress": "^9.0.1", + "content-disposition": "^0.5.4", + "ext-name": "^5.0.0", + "file-type": "^18.5.0", + "filenamify": "^5.1.1", + "get-stream": "^6.0.1", + "got": "^12.6.1", + "merge-options": "^3.0.4", + "p-event": "^5.0.1" }, + "engines": { + "node": "^14.14.0 || >=16.0.0" + } + }, + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, "engines": { "node": ">=12" }, @@ -23998,439 +21635,352 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", "dev": true, "engines": { - "node": ">=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clipboardy/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/filenamify": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", + "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", "dev": true, + "dependencies": { + "filename-reserved-regex": "^3.0.0", + "strip-outer": "^2.0.0", + "trim-repeated": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/strip-outer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", + "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", "dev": true, "engines": { - "node": ">=0.8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "node_modules/netlify-cli/node_modules/@xhmikosr/downloader/node_modules/trim-repeated": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", + "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/netlify-cli/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "node_modules/netlify-cli/node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", "dev": true, - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/netlify-cli/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/netlify-cli/node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/netlify-cli/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/netlify-cli/node_modules/abstract-logging": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", "dev": true }, - "node_modules/netlify-cli/node_modules/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "node_modules/netlify-cli/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "node_modules/netlify-cli/node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.1.90" + "node": ">=0.4.0" } }, - "node_modules/netlify-cli/node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "node_modules/netlify-cli/node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/netlify-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "node_modules/netlify-cli/node_modules/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, "engines": { - "node": ">=18" + "node": ">=0.4.0" } }, - "node_modules/netlify-cli/node_modules/comment-json": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.5.tgz", - "integrity": "sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==", + "node_modules/netlify-cli/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, + "peer": true, "dependencies": { - "array-timsort": "^1.0.3", - "core-util-is": "^1.0.3", - "esprima": "^4.0.1", - "has-own-prop": "^2.0.0", - "repeat-string": "^1.6.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/netlify-cli/node_modules/comment-json/node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "node_modules/netlify-cli/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, "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "url": "https://github.com/sponsors/fastify" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "opencollective", + "url": "https://opencollective.com/fastify" } ] }, - "node_modules/netlify-cli/node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/netlify-cli/node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "dependencies": { - "safe-buffer": "~5.2.0" + "string-width": "^4.1.0" } }, - "node_modules/netlify-cli/node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "node_modules/netlify-cli/node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "engines": { + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/configstore": { + "node_modules/netlify-cli/node_modules/ansi-escapes": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.0.0.tgz", - "integrity": "sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, "dependencies": { - "atomically": "^2.0.3", - "dot-prop": "^9.0.0", - "graceful-fs": "^4.2.11", - "xdg-basedir": "^5.1.0" + "environment": "^1.0.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/configstore/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "node_modules/netlify-cli/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/netlify-cli/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/netlify-cli/node_modules/ansi-to-html": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.7.2.tgz", + "integrity": "sha512-v6MqmEpNlxF+POuyhKkidusCHWWkaLcGRURzivcU3I9tv7k4JVhFcnukrM5Rlk2rUywdZuzYAZ+kbZqWCnfN3g==", "dev": true, + "dependencies": { + "entities": "^2.2.0" + }, + "bin": { + "ansi-to-html": "bin/ansi-to-html" + }, "engines": { - "node": ">= 0.6" + "node": ">=8.0.0" } }, - "node_modules/netlify-cli/node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "node_modules/netlify-cli/node_modules/ansi-to-html/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "engines": { - "node": ">=18" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/cookie-es": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", - "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/copy-file": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-file/-/copy-file-11.0.0.tgz", - "integrity": "sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==", + "node_modules/netlify-cli/node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", "dev": true, - "dependencies": { - "graceful-fs": "^4.2.11", - "p-event": "^6.0.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14" } }, - "node_modules/netlify-cli/node_modules/copy-file/node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/copy-file/node_modules/p-event": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", - "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", + "node_modules/netlify-cli/node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { - "p-timeout": "^6.1.2" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/netlify-cli/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/cpy": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/cpy/-/cpy-11.1.0.tgz", - "integrity": "sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==", + "node_modules/netlify-cli/node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "copy-file": "^11.0.0", - "globby": "^14.0.2", - "junk": "^4.0.1", - "micromatch": "^4.0.7", - "p-filter": "^4.1.0", - "p-map": "^7.0.2" - }, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/netlify-cli/node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "node_modules/netlify-cli/node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", "dev": true, - "bin": { - "crc32": "bin/crc32.njs" + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" }, "engines": { - "node": ">=0.8" + "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "node_modules/netlify-cli/node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", "dev": true, "dependencies": { - "crc-32": "^1.2.0", + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, "engines": { "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/buffer": { + "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", @@ -24454,7 +22004,19 @@ "ieee754": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/readable-stream": { + "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/readable-stream": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", @@ -24470,7 +22032,7 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/safe-buffer": { + "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", @@ -24490,7 +22052,7 @@ } ] }, - "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/string_decoder": { + "node_modules/netlify-cli/node_modules/archiver-utils/node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", @@ -24499,545 +22061,463 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/netlify-cli/node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/cron-parser": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", - "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", + "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "luxon": "^3.2.1" - }, - "engines": { - "node": ">=12.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/netlify-cli/node_modules/archiver/node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, "engines": { - "node": ">= 8" + "node": ">=8.0.0" } }, - "node_modules/netlify-cli/node_modules/cross-spawn/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/netlify-cli/node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/crossws": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.3.tgz", - "integrity": "sha512-uZwy53h6ITBxXdzsw7UcGQZ1QSyjBSkAknu70Zb7+JWmJ1LstE1hVFEgt34RVoCQJn8kstSOnNmRjK93SG1LBg==", + "node_modules/netlify-cli/node_modules/archiver/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "peerDependencies": { - "uWebSockets.js": "*" - }, - "peerDependenciesMeta": { - "uWebSockets.js": { - "optional": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } - }, - "node_modules/netlify-cli/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } + ] }, - "node_modules/netlify-cli/node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "node_modules/netlify-cli/node_modules/archiver/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/netlify-cli/node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "safe-buffer": "~5.2.0" } }, - "node_modules/netlify-cli/node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "node_modules/netlify-cli/node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, - "node_modules/netlify-cli/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/netlify-cli/node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } + "node_modules/netlify-cli/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, - "node_modules/netlify-cli/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "node_modules/netlify-cli/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "node_modules/netlify-cli/node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "node_modules/netlify-cli/node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/data-uri-to-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", - "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", - "dev": true, - "engines": { - "node": ">= 12" - } + "node_modules/netlify-cli/node_modules/ascii-table": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", + "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=", + "dev": true }, - "node_modules/netlify-cli/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/netlify-cli/node_modules/ast-module-types": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-6.0.1.tgz", + "integrity": "sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==", "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/netlify-cli/node_modules/decache": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", - "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", - "dev": true, - "dependencies": { - "callsite": "^1.0.0" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/async-sema": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", + "dev": true }, - "node_modules/netlify-cli/node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/netlify-cli/node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", "dev": true, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, - "node_modules/netlify-cli/node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/netlify-cli/node_modules/atomically": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.0.3.tgz", + "integrity": "sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "stubborn-fs": "^1.2.5", + "when-exit": "^2.1.1" } }, - "node_modules/netlify-cli/node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "node_modules/netlify-cli/node_modules/avvio": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", + "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", "dev": true, "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@fastify/error": "^3.3.0", + "archy": "^1.0.0", + "debug": "^4.0.0", + "fastq": "^1.17.1" } }, - "node_modules/netlify-cli/node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/netlify-cli/node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true }, - "node_modules/netlify-cli/node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/netlify-cli/node_modules/backoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", + "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "precond": "0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "node_modules/netlify-cli/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/netlify-cli/node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "node_modules/netlify-cli/node_modules/bare-events": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10" - } + "optional": true }, - "node_modules/netlify-cli/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/netlify-cli/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, - "engines": { - "node": ">= 0.6" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/netlify-cli/node_modules/destr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", - "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", - "dev": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "dev": true }, - "node_modules/netlify-cli/node_modules/destroy": { + "node_modules/netlify-cli/node_modules/better-ajv-errors": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", + "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@humanwhocodes/momoa": "^2.0.2", + "chalk": "^4.1.2", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0 < 4" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 12.13.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" } }, - "node_modules/netlify-cli/node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/detective-amd": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz", - "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==", + "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { - "ast-module-types": "^6.0.1", - "escodegen": "^2.1.0", - "get-amd-module-type": "^6.0.1", - "node-source-walk": "^7.0.1" - }, - "bin": { - "detective-amd": "bin/cli.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/detective-cjs": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz", - "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==", + "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "ast-module-types": "^6.0.1", - "node-source-walk": "^7.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=18" + "node": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/detective-es6": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz", - "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==", + "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/better-ajv-errors/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { - "node-source-walk": "^7.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/detective-postcss": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz", - "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==", + "node_modules/netlify-cli/node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, "dependencies": { - "is-url": "^1.2.4", - "postcss-values-parser": "^6.0.2" - }, - "engines": { - "node": "^14.0.0 || >=16.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.47" + "file-uri-to-path": "1.0.0" } }, - "node_modules/netlify-cli/node_modules/detective-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz", - "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==", + "node_modules/netlify-cli/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.1" - }, - "engines": { - "node": ">=18" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/netlify-cli/node_modules/detective-scss": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz", - "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==", + "node_modules/netlify-cli/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { - "gonzales-pe": "^4.3.0", - "node-source-walk": "^7.0.1" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=18" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/netlify-cli/node_modules/detective-stylus": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz", - "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==", + "node_modules/netlify-cli/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/netlify-cli/node_modules/detective-typescript": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz", - "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==", + "node_modules/netlify-cli/node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "^8.23.0", - "ast-module-types": "^6.0.1", - "node-source-walk": "^7.0.1" - }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "typescript": "^5.4.4" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/detective-vue2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz", - "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==", + "node_modules/netlify-cli/node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "@dependents/detective-less": "^5.0.1", - "@vue/compiler-sfc": "^3.5.13", - "detective-es6": "^5.0.1", - "detective-sass": "^6.0.1", - "detective-scss": "^5.0.1", - "detective-stylus": "^5.0.1", - "detective-typescript": "^14.0.0" - }, - "engines": { - "node": ">=18" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, - "peerDependencies": { - "typescript": "^5.4.4" - } - }, - "node_modules/netlify-cli/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, "engines": { - "node": ">=0.3.1" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/dom-serializer": { + "node_modules/netlify-cli/node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/body-parser/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/netlify-cli/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 }, - "node_modules/netlify-cli/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/netlify-cli/node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0" + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">= 4" + "node": ">=18" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/netlify-cli/node_modules/boxen/node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "engines": { + "node": ">=16" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/dot-prop": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", - "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", + "node_modules/netlify-cli/node_modules/boxen/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/boxen/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "type-fest": "^4.18.2" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { "node": ">=18" @@ -25046,7 +22526,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/dot-prop/node_modules/type-fest": { + "node_modules/netlify-cli/node_modules/boxen/node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", @@ -25059,1030 +22539,788 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "node_modules/netlify-cli/node_modules/boxen/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "license": "BSD-2-Clause", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/netlify-cli/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "fill-range": "^7.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "node_modules/netlify-cli/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "safe-buffer": "^5.0.1" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/netlify-cli/node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/netlify-cli/node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" + "node": "*" } }, - "node_modules/netlify-cli/node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } + "node_modules/netlify-cli/node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "dev": true }, - "node_modules/netlify-cli/node_modules/enquirer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "node_modules/netlify-cli/node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/netlify-cli/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, "engines": { - "node": ">=0.12" + "node": ">=6" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/env-paths": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", - "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "node_modules/netlify-cli/node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "node_modules/netlify-cli/node_modules/byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "node_modules/netlify-cli/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "dependencies": { - "stackframe": "^1.3.4" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/netlify-cli/node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=14.16" } }, - "node_modules/netlify-cli/node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/netlify-cli/node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dev": true, + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" } }, - "node_modules/netlify-cli/node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/netlify-cli/node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "dependencies": { - "es-errors": "^1.3.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "node_modules/netlify-cli/node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/netlify-cli/node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/netlify-cli/node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "node_modules/netlify-cli/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "engines": { - "node": ">=12" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "node_modules/netlify-cli/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 }, - "node_modules/netlify-cli/node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/netlify-cli/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "readdirp": "^4.0.1" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/netlify-cli/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node": ">= 14.16.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/netlify-cli/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/netlify-cli/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/netlify-cli/node_modules/ci-info": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", + "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "node_modules/netlify-cli/node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "consola": "^3.2.3" } }, - "node_modules/netlify-cli/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/netlify-cli/node_modules/clean-deep": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/clean-deep/-/clean-deep-3.4.0.tgz", + "integrity": "sha512-Lo78NV5ItJL/jl+B5w0BycAisaieJGXK1qYi/9m4SjR8zbqmrUtO7Yhro40wEShGmmxs/aJLI/A+jNhdkXK8mw==", "dev": true, - "license": "MIT", + "dependencies": { + "lodash.isempty": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.transform": "^4.6.0" + }, "engines": { - "node": ">=0.8.x" + "node": ">=4" } }, - "node_modules/netlify-cli/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/netlify-cli/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/netlify-cli/node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/netlify-cli/node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "node_modules/netlify-cli/node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, "engines": { - "node": ">= 0.10.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/express-logging": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", - "integrity": "sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA==", + "node_modules/netlify-cli/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { - "on-headers": "^1.0.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">= 0.10.26" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "node_modules/netlify-cli/node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/netlify-cli/node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/netlify-cli/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, "engines": { - "node": ">= 0.8" + "node": ">= 10" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/netlify-cli/node_modules/clipboardy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { - "mime-db": "^1.28.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, "engines": { - "node": ">=4" + "node": ">=16.17.0" } }, - "node_modules/netlify-cli/node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, "engines": { - "node": ">= 10.17.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/fast-content-type-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", - "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-equals": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", - "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "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.8" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/fast-json-stringify": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.15.1.tgz", - "integrity": "sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@fastify/merge-json-schemas": "^0.1.0", - "ajv": "^8.10.0", - "ajv-formats": "^3.0.1", - "fast-deep-equal": "^3.1.3", - "fast-uri": "^2.1.0", - "json-schema-ref-resolver": "^1.0.1", - "rfdc": "^1.2.0" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/netlify-cli/node_modules/clipboardy/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "engines": { + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "node_modules/netlify-cli/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/netlify-cli/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv/node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "node_modules/netlify-cli/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] + "dependencies": { + "color-name": "1.1.3" + } }, - "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/netlify-cli/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/netlify-cli/node_modules/fast-querystring": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.0.0.tgz", - "integrity": "sha512-3LQi62IhQoDlmt4ULCYmh17vRO2EtS7hTSsG4WwoKWgV7GLMKBOecEh+aiavASnLx8I2y89OD33AGLo0ccRhzA==", + "node_modules/netlify-cli/node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dev": true, "dependencies": { - "fast-decode-uri-component": "^1.0.1" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/netlify-cli/node_modules/fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "node_modules/netlify-cli/node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.1.90" } }, - "node_modules/netlify-cli/node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fast-uri": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", - "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", + "node_modules/netlify-cli/node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dev": true, - "license": "MIT" + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } }, - "node_modules/netlify-cli/node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "node_modules/netlify-cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "engines": { - "node": ">= 4.9.1" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/fastify": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", - "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", + "node_modules/netlify-cli/node_modules/comment-json": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.5.tgz", + "integrity": "sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], "dependencies": { - "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.4.0", - "@fastify/fast-json-stringify-compiler": "^4.3.0", - "abstract-logging": "^2.0.1", - "avvio": "^8.3.0", - "fast-content-type-parse": "^1.1.0", - "fast-json-stringify": "^5.8.0", - "find-my-way": "^8.0.0", - "light-my-request": "^5.11.0", - "pino": "^9.0.0", - "process-warning": "^3.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.3.0", - "secure-json-parse": "^2.7.0", - "semver": "^7.5.4", - "toad-cache": "^3.3.0" + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/netlify-cli/node_modules/fastify-plugin": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.4.0.tgz", - "integrity": "sha512-ovwFQG2qNy3jcCROiWpr94Hs0le+c7N/3t7m9aVwbFhkxcR/esp2xu25dP8e617HpQdmeDv+gFX4zagdUhDByw==", + "node_modules/netlify-cli/node_modules/comment-json/node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/fastify/node_modules/process-warning": { + "node_modules/netlify-cli/node_modules/common-path-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true }, - "node_modules/netlify-cli/node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/netlify-cli/node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "node_modules/netlify-cli/node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", "dev": true, "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/netlify-cli/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "engines": { + "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/fecha": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", - "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/fetch-blob": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz", - "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==", + "node_modules/netlify-cli/node_modules/compress-commons/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/jimmywarting" + "url": "https://github.com/sponsors/feross" }, { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "node_modules/netlify-cli/node_modules/compress-commons/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/figures/node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "node_modules/netlify-cli/node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/file-type": { - "version": "18.5.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz", - "integrity": "sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==", + "node_modules/netlify-cli/node_modules/compress-commons/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/netlify-cli/node_modules/compress-commons/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0", - "token-types": "^5.0.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "safe-buffer": "~5.2.0" } }, - "node_modules/netlify-cli/node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true + "node_modules/netlify-cli/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" }, - "node_modules/netlify-cli/node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/netlify-cli/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, "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/netlify-cli/node_modules/filter-obj": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-6.1.0.tgz", - "integrity": "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==", + "node_modules/netlify-cli/node_modules/configstore": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.0.0.tgz", + "integrity": "sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==", "dev": true, + "dependencies": { + "atomically": "^2.0.3", + "dot-prop": "^9.0.0", + "graceful-fs": "^4.2.11", + "xdg-basedir": "^5.1.0" + }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/yeoman/configstore?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "node_modules/netlify-cli/node_modules/configstore/node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/netlify-cli/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/netlify-cli/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "node_modules/netlify-cli/node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/netlify-cli/node_modules/find-my-way": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", - "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", + "node_modules/netlify-cli/node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-querystring": "^1.0.0", - "safe-regex2": "^3.1.0" - }, "engines": { - "node": ">=14" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/find-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", - "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "node_modules/netlify-cli/node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "dev": true, - "dependencies": { - "locate-path": "^7.2.0", - "path-exists": "^5.0.0", - "unicorn-magic": "^0.1.0" - }, "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/find-up-simple": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", - "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "node_modules/netlify-cli/node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/netlify-cli/node_modules/copy-file": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-file/-/copy-file-11.0.0.tgz", + "integrity": "sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==", "dev": true, + "dependencies": { + "graceful-fs": "^4.2.11", + "p-event": "^6.0.0" + }, "engines": { "node": ">=18" }, @@ -26090,423 +23328,372 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/find-up/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/netlify-cli/node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "node_modules/netlify-cli/node_modules/copy-file/node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/folder-walker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", - "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", + "node_modules/netlify-cli/node_modules/copy-file/node_modules/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", "dev": true, "dependencies": { - "from2": "^2.1.0" - } - }, - "node_modules/netlify-cli/node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "p-timeout": "^6.1.2" + }, "engines": { - "node": ">=4.0" + "node": ">=16.17" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/netlify-cli/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/cpy": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-11.1.0.tgz", + "integrity": "sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "copy-file": "^11.0.0", + "globby": "^14.0.2", + "junk": "^4.0.1", + "micromatch": "^4.0.7", + "p-filter": "^4.1.0", + "p-map": "^7.0.2" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/netlify-cli/node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "dev": true, - "engines": { - "node": ">=14" + "bin": { + "crc32": "bin/crc32.njs" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/netlify-cli/node_modules/form-data-encoder": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.3.tgz", - "integrity": "sha512-KqU0nnPMgIJcCOFTNJFEA8epcseEaoox4XZffTgy8jlI6pL/5EFyR54NRG7CnCJN0biY7q52DO3MH6/sJ/TKlQ==", - "dev": true, "engines": { - "node": ">= 14.17" + "node": ">=0.8" } }, - "node_modules/netlify-cli/node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "node_modules/netlify-cli/node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", "dev": true, "dependencies": { - "fetch-blob": "^3.1.2" + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": ">=12.20.0" + "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, - "engines": { - "node": ">= 0.6" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/netlify-cli/node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, "engines": { - "node": ">= 0.6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.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" + } + ] }, - "node_modules/netlify-cli/node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/netlify-cli/node_modules/crc32-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~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": "~5.2.0" } }, - "node_modules/netlify-cli/node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "node_modules/netlify-cli/node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/netlify-cli/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/fuzzy": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", - "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==", + "node_modules/netlify-cli/node_modules/cron-parser": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", + "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", "dev": true, + "dependencies": { + "luxon": "^3.2.1" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=12.0.0" } }, - "node_modules/netlify-cli/node_modules/get-amd-module-type": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz", - "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==", + "node_modules/netlify-cli/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.1", - "node-source-walk": "^7.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">= 8" } }, - "node_modules/netlify-cli/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/netlify-cli/node_modules/cross-spawn/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "node_modules/netlify-cli/node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "uncrypto": "^0.1.3" } }, - "node_modules/netlify-cli/node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "node_modules/netlify-cli/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/netlify-cli/node_modules/get-package-name": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/get-package-name/-/get-package-name-2.2.0.tgz", - "integrity": "sha512-LmCKVxioe63Fy6KDAQ/mmCSOSSRUE/x4zdrMD+7dU8quF3bGpzvP8mOmq4Dgce3nzU9AgkVDotucNOOg7c27BQ==", + "node_modules/netlify-cli/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, - "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, "engines": { - "node": ">= 12.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/netlify-cli/node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "node_modules/netlify-cli/node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/netlify-cli/node_modules/get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "node_modules/netlify-cli/node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", "dev": true }, - "node_modules/netlify-cli/node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "node_modules/netlify-cli/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "css-tree": "~2.2.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/netlify-cli/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/gh-release-fetch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gh-release-fetch/-/gh-release-fetch-4.0.3.tgz", - "integrity": "sha512-TOiP1nwLsH5shG85Yt6v6Kjq5JU/44jXyEpbcfPgmj3C829yeXIlx9nAEwQRaxtRF3SJinn2lz7XUkfG9W/U4g==", + "node_modules/netlify-cli/node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "dependencies": { - "@xhmikosr/downloader": "^13.0.0", - "node-fetch": "^3.3.1", - "semver": "^7.5.3" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": "^14.18.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/git-repo-info": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", - "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", - "dev": true, - "engines": { - "node": ">= 4.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/gitconfiglocal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-2.1.0.tgz", - "integrity": "sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==", - "dev": true, - "dependencies": { - "ini": "^1.3.2" - } + "node_modules/netlify-cli/node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true }, - "node_modules/netlify-cli/node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "node_modules/netlify-cli/node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, - "node_modules/netlify-cli/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/netlify-cli/node_modules/data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 12" } }, - "node_modules/netlify-cli/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/netlify-cli/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "ms": "^2.1.3" }, "engines": { - "node": ">= 6" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/netlify-cli/node_modules/decache": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", + "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "callsite": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/netlify-cli/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/global-directory": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", - "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "node_modules/netlify-cli/node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, - "dependencies": { - "ini": "4.1.1" - }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/global-directory/node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "node_modules/netlify-cli/node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=4.0.0" } }, - "node_modules/netlify-cli/node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "node_modules/netlify-cli/node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/netlify-cli/node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", "dev": true, "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { "node": ">=18" @@ -26515,19 +23702,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/globby/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/netlify-cli/node_modules/globby/node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "node_modules/netlify-cli/node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", "dev": true, "engines": { "node": ">=18" @@ -26536,385 +23714,449 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "node_modules/netlify-cli/node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" + "clone": "^1.0.2" }, - "engines": { - "node": ">=0.6.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/netlify-cli/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "node_modules/netlify-cli/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, "engines": { - "node": ">=14.16" + "node": ">=12" }, "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "node_modules/netlify-cli/node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "dev": true }, - "node_modules/netlify-cli/node_modules/h3": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", - "integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==", + "node_modules/netlify-cli/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT", - "dependencies": { - "cookie-es": "^1.2.2", - "crossws": "^0.3.4", - "defu": "^6.1.4", - "destr": "^2.0.5", - "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.0", - "radix3": "^1.1.2", - "ufo": "^1.6.1", - "uncrypto": "^0.1.3" + "engines": { + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/h3/node_modules/crossws": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", - "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "node_modules/netlify-cli/node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", "dev": true, - "license": "MIT", - "dependencies": { - "uncrypto": "^0.1.3" - } + "license": "MIT" }, - "node_modules/netlify-cli/node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/netlify-cli/node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/netlify-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/netlify-cli/node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/has-own-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", - "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "node_modules/netlify-cli/node_modules/detective-amd": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-6.0.1.tgz", + "integrity": "sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==", "dev": true, + "dependencies": { + "ast-module-types": "^6.0.1", + "escodegen": "^2.1.0", + "get-amd-module-type": "^6.0.1", + "node-source-walk": "^7.0.1" + }, + "bin": { + "detective-amd": "bin/cli.js" + }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "node_modules/netlify-cli/node_modules/detective-cjs": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-6.0.1.tgz", + "integrity": "sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/netlify-cli/node_modules/detective-es6": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-5.0.1.tgz", + "integrity": "sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==", "dev": true, "dependencies": { - "function-bind": "^1.1.2" + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "node_modules/netlify-cli/node_modules/detective-postcss": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-7.0.1.tgz", + "integrity": "sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^10.0.1" + "is-url": "^1.2.4", + "postcss-values-parser": "^6.0.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.47" } }, - "node_modules/netlify-cli/node_modules/hot-shots": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-10.2.1.tgz", - "integrity": "sha512-tmjcyZkG/qADhcdC7UjAp8D7v7W2DOYFgaZ48fYMuayMQmVVUg8fntKmrjes/b40ef6yZ+qt1lB8kuEDfLC4zw==", + "node_modules/netlify-cli/node_modules/detective-sass": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-6.0.1.tgz", + "integrity": "sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==", "dev": true, - "engines": { - "node": ">=10.0.0" + "dependencies": { + "gonzales-pe": "^4.3.0", + "node-source-walk": "^7.0.1" }, - "optionalDependencies": { - "unix-dgram": "2.x" + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/netlify-cli/node_modules/detective-scss": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-5.0.1.tgz", + "integrity": "sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "gonzales-pe": "^4.3.0", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/http-errors/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/netlify-cli/node_modules/detective-stylus": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/detective-stylus/-/detective-stylus-5.0.1.tgz", + "integrity": "sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "node_modules/netlify-cli/node_modules/detective-typescript": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-14.0.0.tgz", + "integrity": "sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==", "dev": true, "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "@typescript-eslint/typescript-estree": "^8.23.0", + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=18" + }, + "peerDependencies": { + "typescript": "^5.4.4" } }, - "node_modules/netlify-cli/node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "node_modules/netlify-cli/node_modules/detective-vue2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/detective-vue2/-/detective-vue2-2.2.0.tgz", + "integrity": "sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==", "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" + "@dependents/detective-less": "^5.0.1", + "@vue/compiler-sfc": "^3.5.13", + "detective-es6": "^5.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=18" }, "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "typescript": "^5.4.4" } }, - "node_modules/netlify-cli/node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "node_modules/netlify-cli/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { - "node": ">=10" + "node": ">=0.3.1" + } + }, + "node_modules/netlify-cli/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", + "node_modules/netlify-cli/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/netlify-cli/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "node_modules/netlify-cli/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, - "engines": { - "node": ">=10.19.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/netlify-cli/node_modules/dot-prop": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", + "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", "dev": true, "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "type-fest": "^4.18.2" }, "engines": { - "node": ">= 14" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "node_modules/netlify-cli/node_modules/dot-prop/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 14" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/netlify-cli/node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10.17.0" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/netlify-cli/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/netlify-cli/node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/netlify-cli/node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "safe-buffer": "^5.0.1" + } }, - "node_modules/netlify-cli/node_modules/image-meta": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.0.tgz", - "integrity": "sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==", + "node_modules/netlify-cli/node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/netlify-cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/image-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", - "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "node_modules/netlify-cli/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/netlify-cli/node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/netlify-cli/node_modules/enquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "bin": { - "image-size": "bin/image-size.js" + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=16.x" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "node_modules/netlify-cli/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "node_modules/netlify-cli/node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", "dev": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/index-to-position": { + "node_modules/netlify-cli/node_modules/envinfo": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/netlify-cli/node_modules/environment": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", - "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -26922,195 +24164,240 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "node_modules/netlify-cli/node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } }, - "node_modules/netlify-cli/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "node_modules/netlify-cli/node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/netlify-cli/node_modules/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, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/netlify-cli/node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "node_modules/netlify-cli/node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "dependencies": { - "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": "^6.0.1" + "es-errors": "^1.3.0" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", - "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "node_modules/netlify-cli/node_modules/esbuild": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "figures": "^3.2.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.2" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "peerDependencies": { - "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.6", + "@esbuild/android-arm": "0.25.6", + "@esbuild/android-arm64": "0.25.6", + "@esbuild/android-x64": "0.25.6", + "@esbuild/darwin-arm64": "0.25.6", + "@esbuild/darwin-x64": "0.25.6", + "@esbuild/freebsd-arm64": "0.25.6", + "@esbuild/freebsd-x64": "0.25.6", + "@esbuild/linux-arm": "0.25.6", + "@esbuild/linux-arm64": "0.25.6", + "@esbuild/linux-ia32": "0.25.6", + "@esbuild/linux-loong64": "0.25.6", + "@esbuild/linux-mips64el": "0.25.6", + "@esbuild/linux-ppc64": "0.25.6", + "@esbuild/linux-riscv64": "0.25.6", + "@esbuild/linux-s390x": "0.25.6", + "@esbuild/linux-x64": "0.25.6", + "@esbuild/netbsd-arm64": "0.25.6", + "@esbuild/netbsd-x64": "0.25.6", + "@esbuild/openbsd-arm64": "0.25.6", + "@esbuild/openbsd-x64": "0.25.6", + "@esbuild/openharmony-arm64": "0.25.6", + "@esbuild/sunos-x64": "0.25.6", + "@esbuild/win32-arm64": "0.25.6", + "@esbuild/win32-ia32": "0.25.6", + "@esbuild/win32-x64": "0.25.6" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/netlify-cli/node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { - "node": ">=8" + "node": ">=6" + } + }, + "node_modules/netlify-cli/node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/netlify-cli/node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/netlify-cli/node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=8" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/netlify-cli/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=4.0" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/netlify-cli/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/netlify-cli/node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/netlify-cli/node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/netlify-cli/node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, + "license": "MIT", "engines": { - "npm": ">=2.0.0" + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.x" } }, - "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/netlify-cli/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/netlify-cli/node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { "node": ">=8" }, @@ -27118,491 +24405,506 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/netlify-cli/node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.10.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/netlify-cli/node_modules/express-logging": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", + "integrity": "sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "on-headers": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.10.26" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/netlify-cli/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/netlify-cli/node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/netlify-cli/node_modules/express/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/netlify-cli/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/netlify-cli/node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/netlify-cli/node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "mime-db": "^1.28.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/netlify-cli/node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/netlify-cli/node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">= 10.17.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/netlify-cli/node_modules/inquirer/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/netlify-cli/node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "pump": "^3.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/inspect-with-kind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", - "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - } + "node_modules/netlify-cli/node_modules/fast-content-type-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", + "node_modules/netlify-cli/node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/netlify-cli/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, "engines": { - "node": ">= 0.10" + "node": ">=8.6.0" } }, - "node_modules/netlify-cli/node_modules/ipx": { + "node_modules/netlify-cli/node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipx/-/ipx-2.1.0.tgz", - "integrity": "sha512-AVnPGXJ8L41vjd11Z4akIF2yd14636Klxul3tBySxHA6PKfCOQPxBDkCFK5zcWh0z/keR6toh1eg8qzdBVUgdA==", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, - "dependencies": { - "@fastify/accept-negotiator": "^1.1.0", - "citty": "^0.1.5", - "consola": "^3.2.3", - "defu": "^6.1.4", - "destr": "^2.0.2", - "etag": "^1.8.1", - "h3": "^1.10.0", - "image-meta": "^0.2.0", - "listhen": "^1.5.6", - "ofetch": "^1.3.3", - "pathe": "^1.1.2", - "sharp": "^0.32.6", - "svgo": "^3.2.0", - "ufo": "^1.3.2", - "unstorage": "^1.10.1", - "xss": "^1.0.14" - }, - "bin": { - "ipx": "bin/ipx.mjs" - } + "peer": true }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/@netlify/blobs": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-8.2.0.tgz", - "integrity": "sha512-9djLZHBKsoKk8XCgwWSEPK9QnT8qqxEQGuYh48gFIcNLvpBKkLnHbDZuyUxmNemCfDz7h0HnMXgSPnnUVgARhg==", + "node_modules/netlify-cli/node_modules/fast-json-stringify": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.15.1.tgz", + "integrity": "sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": "^14.16.0 || >=16.0.0" + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.0", + "ajv": "^8.10.0", + "ajv-formats": "^3.0.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.1.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" } }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/netlify-cli/node_modules/ipx/node_modules/unstorage": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz", - "integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==", + "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, - "license": "MIT", "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^4.0.3", - "destr": "^2.0.5", - "h3": "^1.15.2", - "lru-cache": "^10.4.3", - "node-fetch-native": "^1.6.6", - "ofetch": "^1.4.1", - "ufo": "^1.6.1" + "ajv": "^8.0.0" }, "peerDependencies": { - "@azure/app-configuration": "^1.8.0", - "@azure/cosmos": "^4.2.0", - "@azure/data-tables": "^13.3.0", - "@azure/identity": "^4.6.0", - "@azure/keyvault-secrets": "^4.9.0", - "@azure/storage-blob": "^12.26.0", - "@capacitor/preferences": "^6.0.3 || ^7.0.0", - "@deno/kv": ">=0.9.0", - "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", - "@planetscale/database": "^1.19.0", - "@upstash/redis": "^1.34.3", - "@vercel/blob": ">=0.27.1", - "@vercel/kv": "^1.0.1", - "aws4fetch": "^1.0.20", - "db0": ">=0.2.1", - "idb-keyval": "^6.2.1", - "ioredis": "^5.4.2", - "uploadthing": "^7.4.4" + "ajv": "^8.0.0" }, "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@deno/kv": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/blob": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "aws4fetch": { - "optional": true - }, - "db0": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "uploadthing": { + "ajv": { "optional": true } } }, - "node_modules/netlify-cli/node_modules/iron-webcrypto": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", - "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/ajv/node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/brc-dd" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] }, - "node_modules/netlify-cli/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/netlify-cli/node_modules/fast-json-stringify/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-querystring": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.0.0.tgz", + "integrity": "sha512-3LQi62IhQoDlmt4ULCYmh17vRO2EtS7hTSsG4WwoKWgV7GLMKBOecEh+aiavASnLx8I2y89OD33AGLo0ccRhzA==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" + "fast-decode-uri-component": "^1.0.1" } }, - "node_modules/netlify-cli/node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "node_modules/netlify-cli/node_modules/fast-redact": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", + "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "node_modules/netlify-cli/node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fast-uri": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/netlify-cli/node_modules/fastify": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@fastify/ajv-compiler": "^3.5.0", + "@fastify/error": "^3.4.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", + "abstract-logging": "^2.0.1", + "avvio": "^8.3.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^8.0.0", + "light-my-request": "^5.11.0", + "pino": "^9.0.0", + "process-warning": "^3.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.0", + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" } }, - "node_modules/netlify-cli/node_modules/is-docker": { + "node_modules/netlify-cli/node_modules/fastify-plugin": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.4.0.tgz", + "integrity": "sha512-ovwFQG2qNy3jcCROiWpr94Hs0le+c7N/3t7m9aVwbFhkxcR/esp2xu25dP8e617HpQdmeDv+gFX4zagdUhDByw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fastify/node_modules/process-warning": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/netlify-cli/node_modules/is-error-instance": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-error-instance/-/is-error-instance-2.0.0.tgz", - "integrity": "sha512-5RuM+oFY0P5MRa1nXJo6IcTx9m2VyXYhRtb4h0olsi2GHci4bqZ6akHk+GmCYvDrAR9yInbiYdr2pnoqiOMw/Q==", + "node_modules/netlify-cli/node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, - "engines": { - "node": ">=16.17.0" + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/netlify-cli/node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/netlify-cli/node_modules/fdir": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", + "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/netlify-cli/node_modules/fecha": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fetch-blob": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz", + "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, "engines": { - "node": ">=8" + "node": "^12.20 || >= 14.13" } }, - "node_modules/netlify-cli/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/netlify-cli/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-in-ci": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-1.0.0.tgz", - "integrity": "sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==", + "node_modules/netlify-cli/node_modules/figures/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "bin": { - "is-in-ci": "cli.js" - }, + "license": "MIT", "engines": { "node": ">=18" }, @@ -27610,101 +24912,121 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "node_modules/netlify-cli/node_modules/file-type": { + "version": "18.5.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.5.0.tgz", + "integrity": "sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==", "dev": true, "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" }, "engines": { "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/is-installed-globally": { + "node_modules/netlify-cli/node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", - "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { - "global-directory": "^4.0.1", - "is-path-inside": "^4.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "node_modules/netlify-cli/node_modules/filter-obj": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-6.1.0.tgz", + "integrity": "sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "node_modules/netlify-cli/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/netlify-cli/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/netlify-cli/node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "node_modules/netlify-cli/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/find-my-way": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", + "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14" } }, - "node_modules/netlify-cli/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/netlify-cli/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "node_modules/netlify-cli/node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", "dev": true, "engines": { "node": ">=18" @@ -27713,297 +25035,412 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "node_modules/netlify-cli/node_modules/find-up/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/netlify-cli/node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", "dev": true }, - "node_modules/netlify-cli/node_modules/is-url-superb": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz", - "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==", + "node_modules/netlify-cli/node_modules/folder-walker": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", + "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", + "dev": true, + "dependencies": { + "from2": "^2.1.0" + } + }, + "node_modules/netlify-cli/node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">=10" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "node_modules/netlify-cli/node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "dependencies": { - "is-inside-container": "^1.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=16" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", + "node_modules/netlify-cli/node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "system-architecture": "^0.1.0" - }, "engines": { - "node": ">=18" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/iserror": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", - "integrity": "sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/netlify-cli/node_modules/form-data-encoder": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.3.tgz", + "integrity": "sha512-KqU0nnPMgIJcCOFTNJFEA8epcseEaoox4XZffTgy8jlI6pL/5EFyR54NRG7CnCJN0biY7q52DO3MH6/sJ/TKlQ==", "dev": true, "engines": { - "node": ">=16" + "node": ">= 14.17" } }, - "node_modules/netlify-cli/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "node_modules/netlify-cli/node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "fetch-blob": "^3.1.2" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "engines": { + "node": ">=12.20.0" } }, - "node_modules/netlify-cli/node_modules/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==", + "node_modules/netlify-cli/node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "bin": { - "jiti": "bin/jiti.js" + "engines": { + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/jpeg-js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", - "dev": true + "node_modules/netlify-cli/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/netlify-cli/node_modules/js-image-generator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/js-image-generator/-/js-image-generator-1.0.4.tgz", - "integrity": "sha512-ckb7kyVojGAnArouVR+5lBIuwU1fcrn7E/YYSd0FK7oIngAkMmRvHASLro9Zt5SQdWToaI66NybG+OGxPw/HlQ==", + "node_modules/netlify-cli/node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "dependencies": { - "jpeg-js": "^0.4.2" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/netlify-cli/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "node_modules/netlify-cli/node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "node_modules/netlify-cli/node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "node_modules/netlify-cli/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "node_modules/netlify-cli/node_modules/json-schema-ref-resolver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", - "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "node_modules/netlify-cli/node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/netlify-cli/node_modules/fuzzy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", + "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/netlify-cli/node_modules/get-amd-module-type": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.1.tgz", + "integrity": "sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" + }, + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/netlify-cli/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "peer": true + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "node_modules/netlify-cli/node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "node_modules/netlify-cli/node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "node_modules/netlify-cli/node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/junk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz", - "integrity": "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==", + "node_modules/netlify-cli/node_modules/get-package-name": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/get-package-name/-/get-package-name-2.2.0.tgz", + "integrity": "sha512-LmCKVxioe63Fy6KDAQ/mmCSOSSRUE/x4zdrMD+7dU8quF3bGpzvP8mOmq4Dgce3nzU9AgkVDotucNOOg7c27BQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">= 12.0.0" + } + }, + "node_modules/netlify-cli/node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "node_modules/netlify-cli/node_modules/get-port-please": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "node_modules/netlify-cli/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/gh-release-fetch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gh-release-fetch/-/gh-release-fetch-4.0.3.tgz", + "integrity": "sha512-TOiP1nwLsH5shG85Yt6v6Kjq5JU/44jXyEpbcfPgmj3C829yeXIlx9nAEwQRaxtRF3SJinn2lz7XUkfG9W/U4g==", "dev": true, "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" + "@xhmikosr/downloader": "^13.0.0", + "node-fetch": "^3.3.1", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.18.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/netlify-cli/node_modules/jwt-decode": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", - "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "node_modules/netlify-cli/node_modules/git-repo-info": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", + "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", "dev": true, "engines": { - "node": ">=18" + "node": ">= 4.0" } }, - "node_modules/netlify-cli/node_modules/keep-func-props": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/keep-func-props/-/keep-func-props-6.0.0.tgz", - "integrity": "sha512-XDYA44ccm6W2MXZeQcDZykS5srkTpPf6Z59AEuOFbfuqdQ5TVxhAjxgzAEFBpr8XpsCEgr/XeCBFAmc9x6wRmQ==", + "node_modules/netlify-cli/node_modules/gitconfiglocal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-2.1.0.tgz", + "integrity": "sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=16.17.0" + "ini": "^1.3.2" } }, - "node_modules/netlify-cli/node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/netlify-cli/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "json-buffer": "3.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/netlify-cli/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/netlify-cli/node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", - "dev": true + "node_modules/netlify-cli/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/netlify-cli/node_modules/ky": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/ky/-/ky-1.7.2.tgz", - "integrity": "sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==", + "node_modules/netlify-cli/node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=18" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sindresorhus/ky?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/lambda-local": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.2.0.tgz", - "integrity": "sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==", + "node_modules/netlify-cli/node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, "dependencies": { - "commander": "^10.0.1", - "dotenv": "^16.3.1", - "winston": "^3.10.0" - }, - "bin": { - "lambda-local": "build/cli.js" + "ini": "4.1.1" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/lambda-local/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/netlify-cli/node_modules/global-directory/node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, "engines": { - "node": ">=14" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/netlify-cli/node_modules/latest-version": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", - "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "node_modules/netlify-cli/node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, "dependencies": { - "package-json": "^10.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" @@ -28012,1257 +25449,1152 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "node_modules/netlify-cli/node_modules/globby/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, "engines": { - "node": ">= 0.6.3" + "node": ">= 4" } }, - "node_modules/netlify-cli/node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/netlify-cli/node_modules/globby/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/netlify-cli/node_modules/gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, "engines": { - "node": ">=6" + "node": ">=0.6.0" } }, - "node_modules/netlify-cli/node_modules/light-my-request": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", - "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", + "node_modules/netlify-cli/node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "cookie": "^0.7.0", - "process-warning": "^3.0.0", - "set-cookie-parser": "^2.4.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/light-my-request/node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "node_modules/netlify-cli/node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/light-my-request/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "node_modules/netlify-cli/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/netlify-cli/node_modules/listhen": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", - "integrity": "sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==", + "node_modules/netlify-cli/node_modules/h3": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", + "integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/watcher": "^2.4.0", - "@parcel/watcher-wasm": "2.4.0", - "citty": "^0.1.5", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": "^0.1.0", + "cookie-es": "^1.2.2", + "crossws": "^0.3.4", "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.1", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.5.0", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.3.2", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.0", + "radix3": "^1.1.2", + "ufo": "^1.6.1", + "uncrypto": "^0.1.3" } }, - "node_modules/netlify-cli/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/netlify-cli/node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "p-locate": "^6.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4.0" } }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-limit": { + "node_modules/netlify-cli/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/netlify-cli/node_modules/has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/locate-path/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "node_modules/netlify-cli/node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "engines": { - "node": ">=12.20" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.deburr": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", - "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isempty": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/log-process-errors": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/log-process-errors/-/log-process-errors-11.0.1.tgz", - "integrity": "sha512-HXYU83z3kH0VHfJgGyv9ZP9z7uNEayssgvpeQwSzh60mvpNqUBCPyXLSzCDSMxfGvAUUa0Kw06wJjVR46Ohd3A==", + "node_modules/netlify-cli/node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { - "is-error-instance": "^2.0.0", - "is-plain-obj": "^4.1.0", - "normalize-exception": "^3.0.0", - "set-error-message": "^2.0.1" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=16.17.0" + "node": ">= 0.4" } }, - "node_modules/netlify-cli/node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "node_modules/netlify-cli/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "node_modules/netlify-cli/node_modules/hot-shots": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-11.1.0.tgz", + "integrity": "sha512-D4iAs/145g7EJ/wIzBLVANEpysTPthUy/K+4EUIw02YJQTqvzD1vUpYiM3vwR0qPAQj4FhQpQz8wBpY8KDcM0g==", "dev": true, - "dependencies": { - "restore-cursor": "^5.0.0" - }, "engines": { - "node": ">=18" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "unix-dgram": "2.x" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "node_modules/netlify-cli/node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "node_modules/netlify-cli/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "dependencies": { - "get-east-asian-width": "^1.0.0" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=18" + "node": ">= 0.6" + } + }, + "node_modules/netlify-cli/node_modules/http-errors/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netlify-cli/node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/netlify-cli/node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, + "license": "MIT", "dependencies": { - "mimic-function": "^5.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=18" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "node_modules/netlify-cli/node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/netlify-cli/node_modules/http-shutdown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", + "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", "dev": true, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "node_modules/netlify-cli/node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=10.19.0" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/netlify-cli/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/netlify-cli/node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 14" } }, - "node_modules/netlify-cli/node_modules/logform": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", + "node_modules/netlify-cli/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" + "engines": { + "node": ">=10.17.0" } }, - "node_modules/netlify-cli/node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "node_modules/netlify-cli/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/netlify-cli/node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/netlify-cli/node_modules/image-meta": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.1.tgz", + "integrity": "sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==", "dev": true }, - "node_modules/netlify-cli/node_modules/luxon": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", - "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", + "node_modules/netlify-cli/node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", "dev": true, + "bin": { + "image-size": "bin/image-size.js" + }, "engines": { - "node": ">=12" + "node": ">=16.x" } }, - "node_modules/netlify-cli/node_modules/macos-release": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.3.0.tgz", - "integrity": "sha512-tPJQ1HeyiU2vRruNGhZ+VleWuMQRro8iFtJxYgnS4NQe+EukKF6aGiIT+7flZhISAt2iaXBCfFGvAyif7/f8nQ==", + "node_modules/netlify-cli/node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "node": ">=0.8.19" } }, - "node_modules/netlify-cli/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/netlify-cli/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/map-obj": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", - "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", + "node_modules/netlify-cli/node_modules/index-to-position": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", + "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } + "node_modules/netlify-cli/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/maxstache": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/maxstache/-/maxstache-1.0.7.tgz", - "integrity": "sha512-53ZBxHrZM+W//5AcRVewiLpDunHnucfdzZUGz54Fnvo4tE+J3p8EL66kBrs2UhBXvYKTWckWYYWBqJqoTcenqg==", + "node_modules/netlify-cli/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/netlify-cli/node_modules/maxstache-stream": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/maxstache-stream/-/maxstache-stream-1.0.4.tgz", - "integrity": "sha512-v8qlfPN0pSp7bdSoLo1NTjG43GXGqk5W2NWFnOCq2GlmFFqebGzPCjLKSbShuqIOVorOtZSAy7O/S1OCCRONUw==", + "node_modules/netlify-cli/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", "dev": true, "dependencies": { - "maxstache": "^1.0.0", - "pump": "^1.0.0", - "split2": "^1.0.0", - "through2": "^2.0.0" + "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": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/netlify-cli/node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "peerDependencies": { + "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/netlify-cli/node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "is-plain-obj": "^2.1.0" + "color-convert": "^2.0.1" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/netlify-cli/node_modules/merge-options/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/micro-api-client": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/micro-api-client/-/micro-api-client-3.3.0.tgz", - "integrity": "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/micro-memoize": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.3.tgz", - "integrity": "sha512-DzRMi8smUZXT7rCGikRwldEh6eO6qzKiPPopcr1+2EY3AYKpy5fu159PKWwIS9A6IWnrvPKDMcuFtyrroZa8Bw==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/netlify-cli/node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, "engines": { - "node": ">=8.6" + "node": ">=0.8.0" } }, - "node_modules/netlify-cli/node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, "engines": { - "node": ">=8.6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "tslib": "^1.9.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/netlify-cli/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" + "npm": ">=2.0.0" } }, - "node_modules/netlify-cli/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "mime-db": "1.52.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/netlify-cli/node_modules/inquirer-autocomplete-prompt/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "minipass": "^7.1.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 18" + "node": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/netlify-cli/node_modules/mlly": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", - "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^2.0.1", - "pkg-types": "^1.3.0", - "ufo": "^1.5.4" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/netlify-cli/node_modules/mlly/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/module-definition": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz", - "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { - "ast-module-types": "^6.0.1", - "node-source-walk": "^7.0.1" + "escape-string-regexp": "^1.0.5" }, - "bin": { - "module-definition": "bin/cli.js" + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/moize": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.6.tgz", - "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "dependencies": { - "fast-equals": "^3.0.1", - "micro-memoize": "^4.1.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/move-file": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz", - "integrity": "sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "path-exists": "^5.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/move-file/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, + "dependencies": { + "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": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/multiparty": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.2.3.tgz", - "integrity": "sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "http-errors": "~1.8.1", - "safe-buffer": "5.2.1", - "uid-safe": "2.1.5" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/multiparty/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/netlify-cli/node_modules/nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "optional": true + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/netlify-cli/node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "node_modules/netlify-cli/node_modules/inquirer/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/nanospinner": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.2.2.tgz", - "integrity": "sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA==", + "node_modules/netlify-cli/node_modules/inspect-with-kind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", + "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", "dev": true, "dependencies": { - "picocolors": "^1.1.1" + "kind-of": "^6.0.2" } }, - "node_modules/netlify-cli/node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/netlify-cli/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.10" } }, - "node_modules/netlify-cli/node_modules/netlify-redirector": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", - "integrity": "sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "node_modules/netlify-cli/node_modules/ipx": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ipx/-/ipx-3.0.3.tgz", + "integrity": "sha512-c8ZWrM9Rzf8C/W1WoBb9KJ73C76+s3xyBL4iS5WdlPVIObE14tKKW79JIWbMkzhPZw71ZL/mLRMSvQOOhwbj0Q==", "dev": true, "dependencies": { - "semver": "^7.3.5" + "@fastify/accept-negotiator": "^2.0.1", + "citty": "^0.1.6", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.3", + "etag": "^1.8.1", + "h3": "^1.15.1", + "image-meta": "^0.2.1", + "listhen": "^1.9.0", + "ofetch": "^1.4.1", + "pathe": "^2.0.3", + "sharp": "^0.33.5", + "svgo": "^3.3.2", + "ufo": "^1.5.4", + "unstorage": "^1.15.0", + "xss": "^1.0.15" }, - "engines": { - "node": ">=10" + "bin": { + "ipx": "bin/ipx.mjs" } }, - "node_modules/netlify-cli/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/@fastify/accept-negotiator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-2.0.1.tgz", + "integrity": "sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/jimmywarting" + "url": "https://github.com/sponsors/fastify" }, { - "type": "github", - "url": "https://paypal.me/jimmywarting" + "type": "opencollective", + "url": "https://opencollective.com/fastify" } - ], + ] + }, + "node_modules/netlify-cli/node_modules/ipx/node_modules/@netlify/blobs": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-8.2.0.tgz", + "integrity": "sha512-9djLZHBKsoKk8XCgwWSEPK9QnT8qqxEQGuYh48gFIcNLvpBKkLnHbDZuyUxmNemCfDz7h0HnMXgSPnnUVgARhg==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=10.5.0" + "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" + "color-convert": "^2.0.1", + "color-string": "^1.9.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "node": ">=12.5.0" } }, - "node_modules/netlify-cli/node_modules/node-fetch-native": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", - "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 6.13.0" + "node": ">=7.0.0" } }, - "node_modules/netlify-cli/node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } + "node_modules/netlify-cli/node_modules/ipx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/netlify-cli/node_modules/node-mock-http": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.0.tgz", - "integrity": "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true }, - "node_modules/netlify-cli/node_modules/node-source-walk": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz", - "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/parser": "^7.26.7" + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" }, "engines": { - "node": ">=18" - } - }, - "node_modules/netlify-cli/node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" - } - }, - "node_modules/netlify-cli/node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "url": "https://opencollective.com/libvips" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" } }, - "node_modules/netlify-cli/node_modules/normalize-exception": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-exception/-/normalize-exception-3.0.0.tgz", - "integrity": "sha512-SMZtWSLjls45KBgwvS2jWyXLtOI9j90JyQ6tJstl91Gti4W7QwZyF/nWwlFRz/Cx4Gy70DAtLT0EzXYXcPJJUw==", + "node_modules/netlify-cli/node_modules/ipx/node_modules/unstorage": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz", + "integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==", "dev": true, "dependencies": { - "is-error-instance": "^2.0.0", - "is-plain-obj": "^4.1.0" + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.2", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" }, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/netlify-cli/node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } } }, - "node_modules/netlify-cli/node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "node_modules/netlify-cli/node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", "dev": true, - "engines": { - "node": ">=14.16" - }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/brc-dd" } }, - "node_modules/netlify-cli/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/netlify-cli/node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/npm-run-path/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/netlify-cli/node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "has": "^1.0.3" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/netlify-cli/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, - "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">= 0.4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/netlify-cli/node_modules/ofetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", - "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", - "dev": true, - "dependencies": { - "destr": "^2.0.3", - "node-fetch-native": "^1.6.4", - "ufo": "^1.5.4" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/omit.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", - "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "node_modules/netlify-cli/node_modules/is-error-instance": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-error-instance/-/is-error-instance-2.0.0.tgz", + "integrity": "sha512-5RuM+oFY0P5MRa1nXJo6IcTx9m2VyXYhRtb4h0olsi2GHci4bqZ6akHk+GmCYvDrAR9yInbiYdr2pnoqiOMw/Q==", "dev": true, "engines": { - "node": ">=14.0.0" + "node": ">=16.17.0" } }, - "node_modules/netlify-cli/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/netlify-cli/node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/netlify-cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/netlify-cli/node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "wrappy": "1" + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/one-time": { + "node_modules/netlify-cli/node_modules/is-in-ci": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dev": true, - "dependencies": { - "fn.name": "1.x.x" - } - }, - "node_modules/netlify-cli/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-1.0.0.tgz", + "integrity": "sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" + "bin": { + "is-in-ci": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/netlify-cli/node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, "engines": { - "node": ">=6" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/open": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", - "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "node_modules/netlify-cli/node_modules/is-installed-globally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", + "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", "dev": true, "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "global-directory": "^4.0.1", + "is-path-inside": "^4.0.0" }, "engines": { "node": ">=18" @@ -29271,59 +26603,55 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/os-name": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-6.1.0.tgz", - "integrity": "sha512-zBd1G8HkewNd2A8oQ8c6BN/f/c9EId7rSUueOLGu28govmUctXmM+3765GwsByv9nYUdrLqHphXlYIc86saYsg==", + "node_modules/netlify-cli/node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", "dev": true, - "dependencies": { - "macos-release": "^3.3.0", - "windows-release": "^6.1.0" - }, "engines": { - "node": ">=18" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "node_modules/netlify-cli/node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "node_modules/netlify-cli/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": ">=12.20" + "node": ">=0.12.0" } }, - "node_modules/netlify-cli/node_modules/p-event": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", - "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", + "node_modules/netlify-cli/node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, - "dependencies": { - "p-timeout": "^5.0.2" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-event/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", + "node_modules/netlify-cli/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "engines": { "node": ">=12" @@ -29332,47 +26660,59 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-every": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-every/-/p-every-2.0.0.tgz", - "integrity": "sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==", + "node_modules/netlify-cli/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, - "dependencies": { - "p-map": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-every/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "node_modules/netlify-cli/node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/is-url-superb": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz", + "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-filter": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", - "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", + "node_modules/netlify-cli/node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, "dependencies": { - "p-map": "^7.0.1" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=18" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "node_modules/netlify-cli/node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", "dev": true, + "dependencies": { + "system-architecture": "^0.1.0" + }, "engines": { "node": ">=18" }, @@ -29380,87 +26720,249 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-reduce": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", - "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "node_modules/netlify-cli/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/iserror": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/iserror/-/iserror-0.0.2.tgz", + "integrity": "sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, "engines": { - "node": ">=12" + "node": ">=16" + } + }, + "node_modules/netlify-cli/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/netlify-cli/node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "node_modules/netlify-cli/node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/netlify-cli/node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/js-image-generator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/js-image-generator/-/js-image-generator-1.0.4.tgz", + "integrity": "sha512-ckb7kyVojGAnArouVR+5lBIuwU1fcrn7E/YYSd0FK7oIngAkMmRvHASLro9Zt5SQdWToaI66NybG+OGxPw/HlQ==", "dev": true, "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, + "jpeg-js": "^0.4.2" + } + }, + "node_modules/netlify-cli/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/netlify-cli/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, + "peer": true + }, + "node_modules/netlify-cli/node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16.17" + "node": ">=0.10.0" + } + }, + "node_modules/netlify-cli/node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dev": true, + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=12", + "npm": ">=6" } }, - "node_modules/netlify-cli/node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "node_modules/netlify-cli/node_modules/junk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz", + "integrity": "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/p-wait-for": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-5.0.2.tgz", - "integrity": "sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==", + "node_modules/netlify-cli/node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "dev": true, "dependencies": { - "p-timeout": "^6.0.0" + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/netlify-cli/node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/netlify-cli/node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/netlify-cli/node_modules/keep-func-props": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/keep-func-props/-/keep-func-props-6.0.0.tgz", + "integrity": "sha512-XDYA44ccm6W2MXZeQcDZykS5srkTpPf6Z59AEuOFbfuqdQ5TVxhAjxgzAEFBpr8XpsCEgr/XeCBFAmc9x6wRmQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=16.17.0" + } + }, + "node_modules/netlify-cli/node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/netlify-cli/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/netlify-cli/node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/ky": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.7.2.tgz", + "integrity": "sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==", + "dev": true, + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/ky?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/package-directory": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/package-directory/-/package-directory-8.1.0.tgz", - "integrity": "sha512-qHKRW0pw3lYdZMQVkjDBqh8HlamH/LCww2PH7OWEp4Qrt3SFeYMNpnJrQzlSnGrDD5zGR51XqBh7FnNCdVNEHA==", + "node_modules/netlify-cli/node_modules/lambda-local": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/lambda-local/-/lambda-local-2.2.0.tgz", + "integrity": "sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==", "dev": true, "dependencies": { - "find-up-simple": "^1.0.0" + "commander": "^10.0.1", + "dotenv": "^16.3.1", + "winston": "^3.10.0" }, - "engines": { - "node": ">=18" + "bin": { + "lambda-local": "build/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/package-json": { + "node_modules/netlify-cli/node_modules/lambda-local/node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", - "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/netlify-cli/node_modules/latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", "dev": true, "dependencies": { - "ky": "^1.2.0", - "registry-auth-token": "^5.0.2", - "registry-url": "^6.0.1", - "semver": "^7.6.0" + "package-json": "^10.0.0" }, "engines": { "node": ">=18" @@ -29469,24 +26971,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/package-json-from-dist": { + "node_modules/netlify-cli/node_modules/lazystream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" } }, - "node_modules/netlify-cli/node_modules/parallel-transform/node_modules/readable-stream": { + "node_modules/netlify-cli/node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", @@ -29501,491 +26998,386 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/netlify-cli/node_modules/parse-github-url": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", - "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==", + "node_modules/netlify-cli/node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "bin": { - "parse-github-url": "cli.js" - }, "engines": { - "node": ">= 0.10" + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/parse-gitignore": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", - "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", + "node_modules/netlify-cli/node_modules/light-my-request": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", + "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", "dev": true, - "engines": { - "node": ">=14" + "dependencies": { + "cookie": "^0.7.0", + "process-warning": "^3.0.0", + "set-cookie-parser": "^2.4.1" } }, - "node_modules/netlify-cli/node_modules/parse-imports": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", - "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", + "node_modules/netlify-cli/node_modules/light-my-request/node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, - "license": "Apache-2.0 AND MIT", - "dependencies": { - "es-module-lexer": "^1.5.3", - "slashes": "^3.0.12" - }, "engines": { - "node": ">= 18" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/parse-json": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", - "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "node_modules/netlify-cli/node_modules/light-my-request/node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/listhen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.9.0.tgz", + "integrity": "sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "index-to-position": "^1.1.0", - "type-fest": "^4.39.1" - }, - "engines": { - "node": ">=18" + "@parcel/watcher": "^2.4.1", + "@parcel/watcher-wasm": "^2.4.1", + "citty": "^0.1.6", + "clipboardy": "^4.0.0", + "consola": "^3.2.3", + "crossws": ">=0.2.0 <0.4.0", + "defu": "^6.1.4", + "get-port-please": "^3.1.2", + "h3": "^1.12.0", + "http-shutdown": "^1.2.2", + "jiti": "^2.1.2", + "mlly": "^1.7.1", + "node-forge": "^1.3.1", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "ufo": "^1.5.4", + "untun": "^0.1.3", + "uqr": "^0.1.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "listen": "bin/listhen.mjs", + "listhen": "bin/listhen.mjs" } }, - "node_modules/netlify-cli/node_modules/parse-json/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/netlify-cli/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" + "dependencies": { + "p-locate": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/netlify-cli/node_modules/parse-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/netlify-cli/node_modules/path-key": { + "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/netlify-cli/node_modules/locate-path/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "node_modules/netlify-cli/node_modules/locate-path/node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "engines": { - "node": ">=18" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "node_modules/netlify-cli/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/netlify-cli/node_modules/peek-readable": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", - "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } + "node_modules/netlify-cli/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "node_modules/netlify-cli/node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "node_modules/netlify-cli/node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" + "node_modules/netlify-cli/node_modules/lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=", + "dev": true }, - "node_modules/netlify-cli/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "node_modules/netlify-cli/node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pino": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-9.6.0.tgz", - "integrity": "sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^4.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" - }, - "bin": { - "pino": "bin.js" - } + "node_modules/netlify-cli/node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pino-std-serializers": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", - "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "node_modules/netlify-cli/node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=", "dev": true }, - "node_modules/netlify-cli/node_modules/pino/node_modules/pino-abstract-transport": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", - "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", - "dev": true, - "dependencies": { - "split2": "^4.0.0" - } + "node_modules/netlify-cli/node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pino/node_modules/process-warning": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.1.tgz", - "integrity": "sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] + "node_modules/netlify-cli/node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pino/node_modules/sonic-boom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", - "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", - "dev": true, - "dependencies": { - "atomic-sleep": "^1.0.0" - } + "node_modules/netlify-cli/node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true }, - "node_modules/netlify-cli/node_modules/pino/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } + "node_modules/netlify-cli/node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } + "node_modules/netlify-cli/node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true }, - "node_modules/netlify-cli/node_modules/pkg-types/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true }, - "node_modules/netlify-cli/node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "node_modules/netlify-cli/node_modules/log-process-errors": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/log-process-errors/-/log-process-errors-11.0.1.tgz", + "integrity": "sha512-HXYU83z3kH0VHfJgGyv9ZP9z7uNEayssgvpeQwSzh60mvpNqUBCPyXLSzCDSMxfGvAUUa0Kw06wJjVR46Ohd3A==", "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" - } - ], "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "is-error-instance": "^2.0.0", + "is-plain-obj": "^4.1.0", + "normalize-exception": "^3.0.0", + "set-error-message": "^2.0.1" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=16.17.0" } }, - "node_modules/netlify-cli/node_modules/postcss-values-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-6.0.2.tgz", - "integrity": "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==", + "node_modules/netlify-cli/node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "dependencies": { - "color-name": "^1.1.4", - "is-url-superb": "^4.0.0", - "quote-unquote": "^1.0.0" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "peerDependencies": { - "postcss": "^8.2.9" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/postcss-values-parser/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" + "restore-cursor": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", - "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, - "license": "MIT", "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/precinct": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", - "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "dependencies": { - "@dependents/detective-less": "^5.0.1", - "commander": "^12.1.0", - "detective-amd": "^6.0.1", - "detective-cjs": "^6.0.1", - "detective-es6": "^5.0.1", - "detective-postcss": "^7.0.1", - "detective-sass": "^6.0.1", - "detective-scss": "^5.0.1", - "detective-stylus": "^5.0.1", - "detective-typescript": "^14.0.0", - "detective-vue2": "^2.2.0", - "module-definition": "^6.0.1", - "node-source-walk": "^7.0.1", - "postcss": "^8.5.1", - "typescript": "^5.7.3" - }, - "bin": { - "precinct": "bin/cli.js" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", + "node_modules/netlify-cli/node_modules/log-update/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/pretty-ms": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", - "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, "dependencies": { - "parse-ms": "^4.0.0" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/prettyjson": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz", - "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "dependencies": { - "colors": "1.4.0", - "minimist": "^1.2.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, - "bin": { - "prettyjson": "bin/prettyjson" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/netlify-cli/node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/netlify-cli/node_modules/logform": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", + "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" + "@colors/colors": "1.5.0", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" } }, - "node_modules/netlify-cli/node_modules/ps-list": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.1.tgz", - "integrity": "sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==", + "node_modules/netlify-cli/node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -29994,2500 +27386,2617 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "node_modules/netlify-cli/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, - "node_modules/netlify-cli/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/netlify-cli/node_modules/luxon": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", + "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", "dev": true, - "peer": true, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/netlify-cli/node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "node_modules/netlify-cli/node_modules/macos-release": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-3.3.0.tgz", + "integrity": "sha512-tPJQ1HeyiU2vRruNGhZ+VleWuMQRro8iFtJxYgnS4NQe+EukKF6aGiIT+7flZhISAt2iaXBCfFGvAyif7/f8nQ==", "dev": true, - "dependencies": { - "escape-goat": "^4.0.0" - }, "engines": { - "node": ">=12.20" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "node_modules/netlify-cli/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "dependencies": { - "side-channel": "^1.0.6" + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/netlify-cli/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" }, "engines": { - "node": ">=0.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/netlify-cli/node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "node_modules/netlify-cli/node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/netlify-cli/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "node_modules/netlify-cli/node_modules/map-obj": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.2.tgz", + "integrity": "sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==", "dev": true, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/quote-unquote": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz", - "integrity": "sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==", - "dev": true + "node_modules/netlify-cli/node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/netlify-cli/node_modules/radix3": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", - "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "node_modules/netlify-cli/node_modules/maxstache": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/maxstache/-/maxstache-1.0.7.tgz", + "integrity": "sha512-53ZBxHrZM+W//5AcRVewiLpDunHnucfdzZUGz54Fnvo4tE+J3p8EL66kBrs2UhBXvYKTWckWYYWBqJqoTcenqg==", "dev": true }, - "node_modules/netlify-cli/node_modules/random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", + "node_modules/netlify-cli/node_modules/maxstache-stream": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/maxstache-stream/-/maxstache-stream-1.0.4.tgz", + "integrity": "sha512-v8qlfPN0pSp7bdSoLo1NTjG43GXGqk5W2NWFnOCq2GlmFFqebGzPCjLKSbShuqIOVorOtZSAy7O/S1OCCRONUw==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "maxstache": "^1.0.0", + "pump": "^1.0.0", + "split2": "^1.0.0", + "through2": "^2.0.0" } }, - "node_modules/netlify-cli/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/netlify-cli/node_modules/maxstache-stream/node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/netlify-cli/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true, "engines": { "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "node_modules/netlify-cli/node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/raw-body/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/netlify-cli/node_modules/merge-options/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/raw-body/node_modules/http-errors": { + "node_modules/netlify-cli/node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, "engines": { - "node": ">= 0.8" + "node": ">= 8" } }, - "node_modules/netlify-cli/node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/netlify-cli/node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netlify-cli/node_modules/micro-api-client": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/micro-api-client/-/micro-api-client-3.3.0.tgz", + "integrity": "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/micro-memoize": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.3.tgz", + "integrity": "sha512-DzRMi8smUZXT7rCGikRwldEh6eO6qzKiPPopcr1+2EY3AYKpy5fu159PKWwIS9A6IWnrvPKDMcuFtyrroZa8Bw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/netlify-cli/node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/netlify-cli/node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "license": "MIT", + "engines": { + "node": ">=8.6" }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/netlify-cli/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, "bin": { - "rc": "cli.js" + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/netlify-cli/node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/netlify-cli/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/read-package-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", - "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "node_modules/netlify-cli/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=18" + "node": ">= 0.6" + } + }, + "node_modules/netlify-cli/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-package-up/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/netlify-cli/node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "node_modules/netlify-cli/node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/read-pkg/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/netlify-cli/node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/netlify-cli/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=16" + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/netlify-cli/node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/netlify-cli/node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/netlify-cli/node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/module-definition": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-6.0.1.tgz", + "integrity": "sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==", + "dev": true, + "dependencies": { + "ast-module-types": "^6.0.1", + "node-source-walk": "^7.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "module-definition": "bin/cli.js" + }, + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/netlify-cli/node_modules/moize": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "fast-equals": "^3.0.1", + "micro-memoize": "^4.1.2" } }, - "node_modules/netlify-cli/node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "node_modules/netlify-cli/node_modules/move-file": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz", + "integrity": "sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==", "dev": true, "dependencies": { - "readable-stream": "^3.6.0" + "path-exists": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "node_modules/netlify-cli/node_modules/move-file/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "node_modules/netlify-cli/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, - "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/netlify-cli/node_modules/multiparty": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.2.3.tgz", + "integrity": "sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "http-errors": "~1.8.1", + "safe-buffer": "5.2.1", + "uid-safe": "2.1.5" }, "engines": { - "node": ">=10" + "node": ">= 0.10" } }, - "node_modules/netlify-cli/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "node_modules/netlify-cli/node_modules/multiparty/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/netlify-cli/node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "node_modules/netlify-cli/node_modules/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/netlify-cli/node_modules/nan": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, - "engines": { - "node": ">= 12.13.0" - } + "optional": true }, - "node_modules/netlify-cli/node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "node_modules/netlify-cli/node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, - "optional": true, - "peer": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/netlify-cli/node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "node_modules/netlify-cli/node_modules/nanospinner": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.2.2.tgz", + "integrity": "sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "redis-errors": "^1.0.0" - }, + "picocolors": "^1.1.1" + } + }, + "node_modules/netlify-cli/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "node_modules/netlify-cli/node_modules/netlify-redirector": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", + "integrity": "sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "dev": true, - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], "engines": { - "node": ">=14" + "node": ">=10.5.0" } }, - "node_modules/netlify-cli/node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "node_modules/netlify-cli/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "dependencies": { - "rc": "1.2.8" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, - "node_modules/netlify-cli/node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "node_modules/netlify-cli/node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/netlify-cli/node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/netlify-cli/node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 6.13.0" } }, - "node_modules/netlify-cli/node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/netlify-cli/node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/netlify-cli/node_modules/require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/requires-port": { + "node_modules/netlify-cli/node_modules/node-mock-http": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.0.tgz", + "integrity": "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "node_modules/netlify-cli/node_modules/node-source-walk": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-7.0.1.tgz", + "integrity": "sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==", "dev": true, "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "@babel/parser": "^7.26.7" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/netlify-cli/node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" } }, - "node_modules/netlify-cli/node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "node_modules/netlify-cli/node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, "dependencies": { - "lowercase-keys": "^3.0.0" + "abbrev": "^3.0.0" }, - "engines": { - "node": ">=14.16" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/netlify-cli/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/netlify-cli/node_modules/normalize-exception": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-exception/-/normalize-exception-3.0.0.tgz", + "integrity": "sha512-SMZtWSLjls45KBgwvS2jWyXLtOI9j90JyQ6tJstl91Gti4W7QwZyF/nWwlFRz/Cx4Gy70DAtLT0EzXYXcPJJUw==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "is-error-instance": "^2.0.0", + "is-plain-obj": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=16.17.0" } }, - "node_modules/netlify-cli/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/netlify-cli/node_modules/normalize-package-data": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.0.tgz", + "integrity": "sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==", "dev": true, - "license": "MIT", + "dependencies": { + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, "engines": { - "node": ">= 4" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/netlify-cli/node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/netlify-cli/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { - "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/rollup": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", - "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", + "node_modules/netlify-cli/node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": ">=14.16" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.41.1", - "@rollup/rollup-android-arm64": "4.41.1", - "@rollup/rollup-darwin-arm64": "4.41.1", - "@rollup/rollup-darwin-x64": "4.41.1", - "@rollup/rollup-freebsd-arm64": "4.41.1", - "@rollup/rollup-freebsd-x64": "4.41.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", - "@rollup/rollup-linux-arm-musleabihf": "4.41.1", - "@rollup/rollup-linux-arm64-gnu": "4.41.1", - "@rollup/rollup-linux-arm64-musl": "4.41.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", - "@rollup/rollup-linux-riscv64-gnu": "4.41.1", - "@rollup/rollup-linux-riscv64-musl": "4.41.1", - "@rollup/rollup-linux-s390x-gnu": "4.41.1", - "@rollup/rollup-linux-x64-gnu": "4.41.1", - "@rollup/rollup-linux-x64-musl": "4.41.1", - "@rollup/rollup-win32-arm64-msvc": "4.41.1", - "@rollup/rollup-win32-ia32-msvc": "4.41.1", - "@rollup/rollup-win32-x64-msvc": "4.41.1", - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "node_modules/netlify-cli/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "path-key": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/netlify-cli/node_modules/npm-run-path/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/netlify-cli/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "queue-microtask": "^1.2.2" + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "node_modules/netlify-cli/node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, - "dependencies": { - "tslib": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/rxjs/node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/safe-json-stringify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/safe-regex2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", - "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", + "node_modules/netlify-cli/node_modules/ofetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", + "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", "dev": true, "dependencies": { - "ret": "~0.4.0" + "destr": "^2.0.3", + "node-fetch-native": "^1.6.4", + "ufo": "^1.5.4" } }, - "node_modules/netlify-cli/node_modules/safe-regex2/node_modules/ret": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", - "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", + "node_modules/netlify-cli/node_modules/omit.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", + "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==", "dev": true, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/netlify-cli/node_modules/safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", + "node_modules/netlify-cli/node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/netlify-cli/node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "node_modules/netlify-cli/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "commander": "^2.8.1" + "ee-first": "1.1.1" }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "engines": { + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/netlify-cli/node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "node_modules/netlify-cli/node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" + "wrappy": "1" } }, - "node_modules/netlify-cli/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/netlify-cli/node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "fn.name": "1.x.x" } }, - "node_modules/netlify-cli/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/netlify-cli/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/netlify-cli/node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/send/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/netlify-cli/node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "node_modules/netlify-cli/node_modules/os-name": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-6.1.0.tgz", + "integrity": "sha512-zBd1G8HkewNd2A8oQ8c6BN/f/c9EId7rSUueOLGu28govmUctXmM+3765GwsByv9nYUdrLqHphXlYIc86saYsg==", "dev": true, "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "macos-release": "^3.3.0", + "windows-release": "^6.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/set-cookie-parser": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", - "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/set-error-message": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-error-message/-/set-error-message-2.0.1.tgz", - "integrity": "sha512-s/eeP0f4ed1S3fl0KbxZoy5Pbeg5D6Nbple9nut4VPwHTvEIk5r7vKq0FwjNjszdUPdlTrs4GJCOkWUqWeTeWg==", + "node_modules/netlify-cli/node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, - "dependencies": { - "normalize-exception": "^3.0.0" - }, "engines": { - "node": ">=16.17.0" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "node_modules/netlify-cli/node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "engines": { + "node": ">=12.20" + } }, - "node_modules/netlify-cli/node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "node_modules/netlify-cli/node_modules/p-event": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", + "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" + "p-timeout": "^5.0.2" }, "engines": { - "node": ">=14.15.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "node_modules/netlify-cli/node_modules/p-event/node_modules/p-timeout": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", + "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, "engines": { - "node": ">=12.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/p-every": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-every/-/p-every-2.0.0.tgz", + "integrity": "sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "p-map": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/sharp/node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true + "node_modules/netlify-cli/node_modules/p-every/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/netlify-cli/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/netlify-cli/node_modules/p-filter": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", + "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "p-map": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/shebang-regex": { + "node_modules/netlify-cli/node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/p-reduce": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/netlify-cli/node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "node_modules/netlify-cli/node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/netlify-cli/node_modules/p-wait-for": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-5.0.2.tgz", + "integrity": "sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==", "dev": true, "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "p-timeout": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/netlify-cli/node_modules/package-directory": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/package-directory/-/package-directory-8.1.0.tgz", + "integrity": "sha512-qHKRW0pw3lYdZMQVkjDBqh8HlamH/LCww2PH7OWEp4Qrt3SFeYMNpnJrQzlSnGrDD5zGR51XqBh7FnNCdVNEHA==", "dev": true, "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" + "find-up-simple": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/netlify-cli/node_modules/package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", "dev": true, "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/simple-concat": { + "node_modules/netlify-cli/node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true }, - "node_modules/netlify-cli/node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "node_modules/netlify-cli/node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "node_modules/netlify-cli/node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "node_modules/netlify-cli/node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "is-arrayish": "^0.3.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/netlify-cli/node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "node_modules/netlify-cli/node_modules/parse-github-url": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", + "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==", + "dev": true, + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">= 0.10" + } }, - "node_modules/netlify-cli/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "node_modules/netlify-cli/node_modules/parse-gitignore": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", + "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", "dev": true, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14" } }, - "node_modules/netlify-cli/node_modules/slashes": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", - "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "node_modules/netlify-cli/node_modules/parse-imports": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", + "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", "dev": true, - "license": "ISC" + "license": "Apache-2.0 AND MIT", + "dependencies": { + "es-module-lexer": "^1.5.3", + "slashes": "^3.0.12" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/netlify-cli/node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "node_modules/netlify-cli/node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-plain-obj": "^1.0.0" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "node_modules/netlify-cli/node_modules/parse-json/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "sort-keys": "^1.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/netlify-cli/node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/netlify-cli/node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/netlify-cli/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/netlify-cli/node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "node_modules/netlify-cli/node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/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==", + "node_modules/netlify-cli/node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/netlify-cli/node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/netlify-cli/node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "node_modules/netlify-cli/node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "node_modules/netlify-cli/node_modules/split2": { + "node_modules/netlify-cli/node_modules/picocolors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", - "integrity": "sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "dependencies": { - "through2": "~2.0.0" - } + "license": "ISC" }, - "node_modules/netlify-cli/node_modules/stack-generator": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", - "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "node_modules/netlify-cli/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "dependencies": { - "stackframe": "^1.3.4" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/netlify-cli/node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "node_modules/netlify-cli/node_modules/pino": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.7.0.tgz", + "integrity": "sha512-vnMCM6xZTb1WDmLvtG2lE/2p+t9hDEIvTWJsu6FejkE62vB7gDhvzrpFR4Cw2to+9JNQxVnkAKVPA1KPB98vWg==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" } }, - "node_modules/netlify-cli/node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "node_modules/netlify-cli/node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", "dev": true }, - "node_modules/netlify-cli/node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/netlify-cli/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/netlify-cli/node_modules/pino/node_modules/pino-abstract-transport": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "split2": "^4.0.0" } }, - "node_modules/netlify-cli/node_modules/std-env": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", - "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "node_modules/netlify-cli/node_modules/pino/node_modules/process-warning": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", + "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] }, - "node_modules/netlify-cli/node_modules/streamx": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", - "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "node_modules/netlify-cli/node_modules/pino/node_modules/sonic-boom": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", "dev": true, "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" + "atomic-sleep": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/netlify-cli/node_modules/pino/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 10.x" } }, - "node_modules/netlify-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/netlify-cli/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "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" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, - "node_modules/netlify-cli/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/netlify-cli/node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/netlify-cli/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "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" + } + ], "dependencies": { - "ansi-regex": "^5.0.1" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14" } }, - "node_modules/netlify-cli/node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/netlify-cli/node_modules/postcss-values-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-6.0.2.tgz", + "integrity": "sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "color-name": "^1.1.4", + "is-url-superb": "^4.0.0", + "quote-unquote": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.2.9" } }, - "node_modules/netlify-cli/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/netlify-cli/node_modules/postcss-values-parser/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/precinct": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", + "integrity": "sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@dependents/detective-less": "^5.0.1", + "commander": "^12.1.0", + "detective-amd": "^6.0.1", + "detective-cjs": "^6.0.1", + "detective-es6": "^5.0.1", + "detective-postcss": "^7.0.1", + "detective-sass": "^6.0.1", + "detective-scss": "^5.0.1", + "detective-stylus": "^5.0.1", + "detective-typescript": "^14.0.0", + "detective-vue2": "^2.2.0", + "module-definition": "^6.0.1", + "node-source-walk": "^7.0.1", + "postcss": "^8.5.1", + "typescript": "^5.7.3" }, - "engines": { - "node": ">=12" + "bin": { + "precinct": "bin/cli.js" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "engines": { + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/netlify-cli/node_modules/precond": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", + "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/netlify-cli/node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/strip-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-3.0.0.tgz", - "integrity": "sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==", + "node_modules/netlify-cli/node_modules/prettyjson": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz", + "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==", "dev": true, "dependencies": { - "inspect-with-kind": "^1.0.5", - "is-plain-obj": "^1.1.0" + "colors": "1.4.0", + "minimist": "^1.2.0" + }, + "bin": { + "prettyjson": "bin/prettyjson" } }, - "node_modules/netlify-cli/node_modules/strip-dirs/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/netlify-cli/node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6.0" } }, - "node_modules/netlify-cli/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/netlify-cli/node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, - "node_modules/netlify-cli/node_modules/strtok3": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", - "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "node_modules/netlify-cli/node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": ">= 0.10" } }, - "node_modules/netlify-cli/node_modules/stubborn-fs": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz", - "integrity": "sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/supports-color": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", - "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", + "node_modules/netlify-cli/node_modules/ps-list": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-8.1.1.tgz", + "integrity": "sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==", "dev": true, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/supports-hyperlinks": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", - "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "node_modules/netlify-cli/node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=14.18" - }, - "funding": { - "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/netlify-cli/node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "peer": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/netlify-cli/node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", "dev": true, + "dependencies": { + "escape-goat": "^4.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=12.20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "node_modules/netlify-cli/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" + "side-channel": "^1.0.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/netlify-cli/node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "engines": { - "node": ">= 10" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/netlify-cli/node_modules/system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", + "node_modules/netlify-cli/node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "node_modules/netlify-cli/node_modules/quote-unquote": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/quote-unquote/-/quote-unquote-1.0.0.tgz", + "integrity": "sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", "dev": true, - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, "engines": { - "node": ">=18" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/tar-fs": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", - "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", + "node_modules/netlify-cli/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - }, - "optionalDependencies": { - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/netlify-cli/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "node_modules/netlify-cli/node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", "dev": true, "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/tar/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "node_modules/netlify-cli/node_modules/raw-body/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/terminal-link": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-4.0.0.tgz", - "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==", + "node_modules/netlify-cli/node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-escapes": "^7.0.0", - "supports-hyperlinks": "^3.2.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "node_modules/netlify-cli/node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { - "b4a": "^1.6.4" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/thread-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", - "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "node_modules/netlify-cli/node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "dependencies": { - "real-require": "^0.2.0" + "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/netlify-cli/node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/netlify-cli/node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/netlify-cli/node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "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" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/netlify-cli/node_modules/read-package-up/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.6.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "node_modules/netlify-cli/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, "dependencies": { - "tmp": "^0.2.0" + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/tmp-promise/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "node_modules/netlify-cli/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, "engines": { - "node": ">=14.14" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/netlify-cli/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/netlify-cli/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=8.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/netlify-cli/node_modules/toad-cache": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", - "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "node_modules/netlify-cli/node_modules/read-pkg/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/netlify-cli/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">= 6" } }, - "node_modules/netlify-cli/node_modules/token-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", - "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "node_modules/netlify-cli/node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", "dev": true, "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=14.16" + "node": ">=8" }, "funding": { "type": "github", "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/netlify-cli/node_modules/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/tomlify-j0.4": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz", - "integrity": "sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", - "dev": true + "node_modules/netlify-cli/node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } }, - "node_modules/netlify-cli/node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "node_modules/netlify-cli/node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/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/netlify-cli/node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "brace-expansion": "^2.0.1" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/netlify-cli/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" + "engines": { + "node": ">= 14.18.0" }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/netlify-cli/node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "dev": true, "engines": { - "node": "*" + "node": ">= 12.13.0" } }, - "node_modules/netlify-cli/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/netlify-cli/node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", "dev": true, "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "@pnpm/npm-conf": "^2.1.0" }, "engines": { - "node": ">= 0.6" + "node": ">=14" } }, - "node_modules/netlify-cli/node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "node_modules/netlify-cli/node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "rc": "1.2.8" }, "engines": { - "node": ">=14.17" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/ufo": { + "node_modules/netlify-cli/node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", - "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/netlify-cli/node_modules/uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, - "dependencies": { - "random-bytes": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=0.10" } }, - "node_modules/netlify-cli/node_modules/ulid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.0.tgz", - "integrity": "sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==", + "node_modules/netlify-cli/node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, - "bin": { - "ulid": "dist/cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "node_modules/netlify-cli/node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "node_modules/netlify-cli/node_modules/require-package-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", + "integrity": "sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==", "dev": true }, - "node_modules/netlify-cli/node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true }, - "node_modules/netlify-cli/node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "node_modules/netlify-cli/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, - "engines": { - "node": ">=18" + "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/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "node_modules/netlify-cli/node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true }, - "node_modules/netlify-cli/node_modules/unix-dgram": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.6.tgz", - "integrity": "sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==", + "node_modules/netlify-cli/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.16.0" - }, "engines": { - "node": ">=0.10.48" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", + "node_modules/netlify-cli/node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, "dependencies": { - "normalize-path": "^2.1.1" + "lowercase-keys": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/unixify/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/netlify-cli/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "node_modules/netlify-cli/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 4" } }, - "node_modules/netlify-cli/node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "node_modules/netlify-cli/node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { - "node": ">=8" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", + "node_modules/netlify-cli/node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/rollup": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", "dev": true, + "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" + "@types/estree": "1.0.7" }, "bin": { - "untun": "bin/untun.mjs" + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", + "fsevents": "~2.3.2" } }, - "node_modules/netlify-cli/node_modules/update-notifier": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.3.1.tgz", - "integrity": "sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==", + "node_modules/netlify-cli/node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", "dev": true, - "dependencies": { - "boxen": "^8.0.1", - "chalk": "^5.3.0", - "configstore": "^7.0.0", - "is-in-ci": "^1.0.0", - "is-installed-globally": "^1.0.0", - "is-npm": "^6.0.0", - "latest-version": "^9.0.0", - "pupa": "^3.1.0", - "semver": "^7.6.3", - "xdg-basedir": "^5.1.0" - }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/netlify-cli/node_modules/uqr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "peer": true, - "dependencies": { - "punycode": "^2.1.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/urlpattern-polyfill": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "node_modules/netlify-cli/node_modules/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, "engines": { - "node": ">= 0.4.0" + "node": ">=0.12.0" } }, - "node_modules/netlify-cli/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "node_modules/netlify-cli/node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" + { + "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", - "bin": { - "uuid": "dist/esm/bin/uuid" + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/netlify-cli/node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "node_modules/netlify-cli/node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/netlify-cli/node_modules/rxjs/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, - "node_modules/netlify-cli/node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/netlify-cli/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/safe-regex2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", + "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", "dev": true, "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "ret": "~0.4.0" } }, - "node_modules/netlify-cli/node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "node_modules/netlify-cli/node_modules/safe-regex2/node_modules/ret": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", + "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", "dev": true, - "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "node_modules/netlify-cli/node_modules/safe-stable-stringify": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", + "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/wait-port": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-1.1.0.tgz", - "integrity": "sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==", + "node_modules/netlify-cli/node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "dependencies": { - "chalk": "^4.1.2", - "commander": "^9.3.0", - "debug": "^4.3.4" + "commander": "^2.8.1" }, "bin": { - "wait-port": "bin/wait-port.js" - }, - "engines": { - "node": ">=10" + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/netlify-cli/node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/netlify-cli/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ms": "2.0.0" } }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/netlify-cli/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/netlify-cli/node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": "^12.20.0 || >=14" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/wait-port/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/netlify-cli/node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/netlify-cli/node_modules/send/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/netlify-cli/node_modules/web-streams-polyfill": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", - "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", - "dev": true, + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, "engines": { - "node": ">= 8" - } - }, - "node_modules/netlify-cli/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node": ">= 0.8" + } + }, + "node_modules/netlify-cli/node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/netlify-cli/node_modules/when-exit": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.3.tgz", - "integrity": "sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==", + "node_modules/netlify-cli/node_modules/set-cookie-parser": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", + "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==", "dev": true }, - "node_modules/netlify-cli/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/netlify-cli/node_modules/set-error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-error-message/-/set-error-message-2.0.1.tgz", + "integrity": "sha512-s/eeP0f4ed1S3fl0KbxZoy5Pbeg5D6Nbple9nut4VPwHTvEIk5r7vKq0FwjNjszdUPdlTrs4GJCOkWUqWeTeWg==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "normalize-exception": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">=16.17.0" } }, - "node_modules/netlify-cli/node_modules/which/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/netlify-cli/node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "node_modules/netlify-cli/node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "node_modules/netlify-cli/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "string-width": "^7.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/widest-line/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true + "node_modules/netlify-cli/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/netlify-cli/node_modules/widest-line/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/netlify-cli/node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/windows-release": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-6.1.0.tgz", - "integrity": "sha512-1lOb3qdzw6OFmOzoY0nauhLG72TpWtb5qgYPiSh/62rjc1XidBSDio2qw0pwHh17VINF217ebIkZJdFLZFn9SA==", + "node_modules/netlify-cli/node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "dependencies": { - "execa": "^8.0.1" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "node_modules/netlify-cli/node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=16.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "node_modules/netlify-cli/node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, "engines": { - "node": ">=16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "node_modules/netlify-cli/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "dev": true, - "engines": { - "node": ">=16.17.0" + "dependencies": { + "is-arrayish": "^0.3.1" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/netlify-cli/node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "node_modules/netlify-cli/node_modules/slashes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", + "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "dev": true, + "license": "ISC" + }, + "node_modules/netlify-cli/node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", "dev": true, "dependencies": { - "path-key": "^4.0.0" + "is-plain-obj": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/netlify-cli/node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" + "sort-keys": "^1.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/netlify-cli/node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/windows-release/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/netlify-cli/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/winston": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", - "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "node_modules/netlify-cli/node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" - }, "engines": { - "node": ">= 12.0.0" + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/winston-transport": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", - "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "node_modules/netlify-cli/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/netlify-cli/node_modules/winston/node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "node_modules/netlify-cli/node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/netlify-cli/node_modules/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 + }, + "node_modules/netlify-cli/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/netlify-cli/node_modules/spdx-license-ids": { + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/split2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz", + "integrity": "sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0" + } + }, + "node_modules/netlify-cli/node_modules/stack-generator": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", + "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/netlify-cli/node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true, "engines": { - "node": ">=0.1.90" + "node": "*" } }, - "node_modules/netlify-cli/node_modules/winston/node_modules/is-stream": { + "node_modules/netlify-cli/node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/netlify-cli/node_modules/std-env": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/streamx": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "optionalDependencies": { + "bare-events": "^2.2.0" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/netlify-cli/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "safe-buffer": "~5.1.0" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/netlify-cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "node_modules/netlify-cli/node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -32499,40 +30008,35 @@ "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/netlify-cli/node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/netlify-cli/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/strip-ansi": { + "node_modules/netlify-cli/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -32542,1345 +30046,1151 @@ }, "engines": { "node": ">=8" - } - }, - "node_modules/netlify-cli/node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/netlify-cli/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/netlify-cli/node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + } + }, + "node_modules/netlify-cli/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "node_modules/netlify-cli/node_modules/strip-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-3.0.0.tgz", + "integrity": "sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==", + "dev": true, + "dependencies": { + "inspect-with-kind": "^1.0.5", + "is-plain-obj": "^1.1.0" + } + }, + "node_modules/netlify-cli/node_modules/strip-dirs/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/netlify-cli/node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "node_modules/netlify-cli/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/netlify-cli/node_modules/xss": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", + "node_modules/netlify-cli/node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", "dev": true, "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/netlify-cli/node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/netlify-cli/node_modules/stubborn-fs": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz", + "integrity": "sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==", "dev": true }, - "node_modules/netlify-cli/node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/netlify-cli/node_modules/supports-color": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", + "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", "dev": true, "engines": { - "node": ">=0.4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/netlify-cli/node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, "engines": { - "node": ">=10" + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, - "node_modules/netlify-cli/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "node_modules/netlify-cli/node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/netlify-cli/node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "node_modules/netlify-cli/node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "bin": { - "yaml": "bin.mjs" - }, "engines": { - "node": ">= 14.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/netlify-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/netlify-cli/node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" }, "engines": { - "node": ">=12" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "node_modules/netlify-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/netlify-cli/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, "engines": { - "node": ">=12" + "node": ">= 10" } }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/netlify-cli/node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/netlify-cli/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/netlify-cli/node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "node_modules/netlify-cli/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, - "node_modules/netlify-cli/node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "node_modules/netlify-cli/node_modules/tar/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/netlify-cli/node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "node_modules/netlify-cli/node_modules/terminal-link": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-4.0.0.tgz", + "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==", "dev": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" + "ansi-escapes": "^7.0.0", + "supports-hyperlinks": "^3.2.0" }, "engines": { - "node": ">= 14" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "node_modules/netlify-cli/node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "b4a": "^1.6.4" } }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "node_modules/netlify-cli/node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "real-require": "^0.2.0" } }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/netlify-cli/node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, - "node_modules/netlify-cli/node_modules/zip-stream/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/netlify-cli/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/netlify-cli/node_modules/zod": { - "version": "3.24.2", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", - "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "node_modules/netlify-cli/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/netlify-cli/site": { - "name": "cli-docs-site", - "version": "1.0.0", - "extraneous": true, "license": "MIT", "dependencies": { - "@astrojs/starlight": "^0.31.1", - "astro": "^5.1.5", - "markdown-magic": "2.6.1", - "sharp": "^0.32.5", - "strip-ansi": "7.1.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/netlify-cli/tools/lint-rules": { - "name": "eslint-plugin-workspace", - "extraneous": true - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "node_modules/netlify-cli/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=0.6.0" } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/netlify-cli/node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", "dev": true, - "license": "MIT", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "tmp": "^0.2.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", + "node_modules/netlify-cli/node_modules/tmp-promise/node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=14.14" + } }, - "node_modules/node-notifier": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", - "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "node_modules/netlify-cli/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/netlify-cli/node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "node_modules/netlify-cli/node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.6" + } }, - "node_modules/nodemon": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", - "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==", + "node_modules/netlify-cli/node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", "dev": true, - "license": "MIT", "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/nodemon/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/netlify-cli/node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/tomlify-j0.4": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz", + "integrity": "sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", + "dev": true }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/netlify-cli/node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/npm": { - "version": "11.4.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-11.4.2.tgz", - "integrity": "sha512-+QweyLIHtiXW7bZpOu8j2ss5w45CF/6MRqlz8RnKs5KsDeI/4/B+WDGI2un9kQizhFrW9SW1mHQr0GDrrWC/8w==", - "bundleDependencies": [ - "@isaacs/string-locale-compare", - "@npmcli/arborist", - "@npmcli/config", - "@npmcli/fs", - "@npmcli/map-workspaces", - "@npmcli/package-json", - "@npmcli/promise-spawn", - "@npmcli/redact", - "@npmcli/run-script", - "@sigstore/tuf", - "abbrev", - "archy", - "cacache", - "chalk", - "ci-info", - "cli-columns", - "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", - "libnpmorg", - "libnpmpack", - "libnpmpublish", - "libnpmsearch", - "libnpmteam", - "libnpmversion", - "make-fetch-happen", - "minimatch", - "minipass", - "minipass-pipeline", - "ms", - "node-gyp", - "nopt", - "normalize-package-data", - "npm-audit-report", - "npm-install-checks", - "npm-package-arg", - "npm-pick-manifest", - "npm-profile", - "npm-registry-fetch", - "npm-user-validate", - "p-map", - "pacote", - "parse-conflict-json", - "proc-log", - "qrcode-terminal", - "read", - "semver", - "spdx-expression-parse", - "ssri", - "supports-color", - "tar", - "text-table", - "tiny-relative-date", - "treeverse", - "validate-npm-package-name", - "which" - ], + "node_modules/netlify-cli/node_modules/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, - "license": "Artistic-2.0", - "workspaces": [ - "docs", - "smoke-tests", - "mock-globals", - "mock-registry", - "workspaces/*" - ], "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^9.1.2", - "@npmcli/config": "^10.3.0", - "@npmcli/fs": "^4.0.0", - "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.2.0", - "@npmcli/promise-spawn": "^8.0.2", - "@npmcli/redact": "^3.2.2", - "@npmcli/run-script": "^9.1.0", - "@sigstore/tuf": "^3.1.1", - "abbrev": "^3.0.1", - "archy": "~1.0.0", - "cacache": "^19.0.1", - "chalk": "^5.4.1", - "ci-info": "^4.2.0", - "cli-columns": "^4.0.0", - "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.3", - "glob": "^10.4.5", - "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.1.0", - "ini": "^5.0.0", - "init-package-json": "^8.2.1", - "is-cidr": "^5.1.1", - "json-parse-even-better-errors": "^4.0.0", - "libnpmaccess": "^10.0.1", - "libnpmdiff": "^8.0.5", - "libnpmexec": "^10.1.4", - "libnpmfund": "^7.0.5", - "libnpmorg": "^8.0.0", - "libnpmpack": "^9.0.5", - "libnpmpublish": "^11.0.1", - "libnpmsearch": "^9.0.0", - "libnpmteam": "^8.0.1", - "libnpmversion": "^8.0.1", - "make-fetch-happen": "^14.0.3", - "minimatch": "^9.0.5", - "minipass": "^7.1.1", - "minipass-pipeline": "^1.2.4", - "ms": "^2.1.2", - "node-gyp": "^11.2.0", - "nopt": "^8.1.0", - "normalize-package-data": "^7.0.0", - "npm-audit-report": "^6.0.0", - "npm-install-checks": "^7.1.1", - "npm-package-arg": "^12.0.2", - "npm-pick-manifest": "^10.0.0", - "npm-profile": "^11.0.1", - "npm-registry-fetch": "^18.0.2", - "npm-user-validate": "^3.0.0", - "p-map": "^7.0.3", - "pacote": "^21.0.0", - "parse-conflict-json": "^4.0.0", - "proc-log": "^5.0.0", - "qrcode-terminal": "^0.12.0", - "read": "^4.1.0", - "semver": "^7.7.2", - "spdx-expression-parse": "^4.0.0", - "ssri": "^12.0.0", - "supports-color": "^10.0.0", - "tar": "^6.2.1", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "treeverse": "^3.0.0", - "validate-npm-package-name": "^6.0.1", - "which": "^5.0.0" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, "bin": { - "npm": "bin/npm-cli.js", - "npx": "bin/npx-cli.js" + "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" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/npm-package-arg": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", - "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "node_modules/netlify-cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "ISC", "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/netlify-cli/node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "bin": { - "semver": "bin/semver.js" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=10" + "node": ">=14.17" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/netlify-cli/node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "random-bytes": "~1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/npm-watch": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.13.0.tgz", - "integrity": "sha512-MYcgocqCzYA44feZhFoYj69FfSaO0EeRE1gcRcmPaXIpNhUMAhNJ1pwic2C4Hn0OPOQmZKSl90CPgmwvOsVhTg==", + "node_modules/netlify-cli/node_modules/ulid": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.1.tgz", + "integrity": "sha512-dPJyqPzx8preQhqq24bBG1YNkvigm87K8kVEHCD+ruZg24t6IFEFv00xMWfxcC4djmFtiTLdFuADn4+DOz6R7Q==", "dev": true, - "license": "MIT", - "dependencies": { - "nodemon": "^3.0.1", - "through2": "^4.0.2" - }, "bin": { - "npm-watch": "cli.js" + "ulid": "dist/cli.js" } }, - "node_modules/npm/node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/netlify-cli/node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" + "buffer": "^5.2.1", + "through": "^2.3.8" } }, - "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", + "node_modules/netlify-cli/node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, + "node_modules/netlify-cli/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "inBundle": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "dev": true }, - "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", + "node_modules/netlify-cli/node_modules/unix-dgram": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.6.tgz", + "integrity": "sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==", "dev": true, - "inBundle": true, - "license": "MIT", + "hasInstallScript": true, + "optional": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "bindings": "^1.5.0", + "nan": "^2.16.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.48" } }, - "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/netlify-cli/node_modules/unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "normalize-path": "^2.1.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", + "node_modules/netlify-cli/node_modules/unixify/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "minipass": "^7.0.4" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/@isaacs/string-locale-compare": { - "version": "1.1.0", + "node_modules/netlify-cli/node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, - "inBundle": true, - "license": "ISC" + "engines": { + "node": ">= 0.8" + } }, - "node_modules/npm/node_modules/@npmcli/agent": { - "version": "3.0.0", + "node_modules/netlify-cli/node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "9.1.2", + "node_modules/netlify-cli/node_modules/untun": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", + "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^4.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/metavuln-calculator": "^9.0.0", - "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.1", - "@npmcli/query": "^4.0.0", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "bin-links": "^5.0.0", - "cacache": "^19.0.1", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^8.0.0", - "json-stringify-nice": "^1.1.4", - "lru-cache": "^10.2.2", - "minimatch": "^9.0.4", - "nopt": "^8.0.0", - "npm-install-checks": "^7.1.0", - "npm-package-arg": "^12.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.1", - "pacote": "^21.0.0", - "parse-conflict-json": "^4.0.0", - "proc-log": "^5.0.0", - "proggy": "^3.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^4.0.0", - "semver": "^7.3.7", - "ssri": "^12.0.0", - "treeverse": "^3.0.0", - "walk-up-path": "^4.0.0" + "citty": "^0.1.5", + "consola": "^3.2.3", + "pathe": "^1.1.1" }, "bin": { - "arborist": "bin/index.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "untun": "bin/untun.mjs" } }, - "node_modules/npm/node_modules/@npmcli/config": { - "version": "10.3.0", + "node_modules/netlify-cli/node_modules/update-notifier": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.3.1.tgz", + "integrity": "sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/package-json": "^6.0.1", - "ci-info": "^4.0.0", - "ini": "^5.0.0", - "nopt": "^8.1.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "walk-up-path": "^4.0.0" + "boxen": "^8.0.1", + "chalk": "^5.3.0", + "configstore": "^7.0.0", + "is-in-ci": "^1.0.0", + "is-installed-globally": "^1.0.0", + "is-npm": "^6.0.0", + "latest-version": "^9.0.0", + "pupa": "^3.1.0", + "semver": "^7.6.3", + "xdg-basedir": "^5.1.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/npm/node_modules/@npmcli/fs": { - "version": "4.0.0", + "node_modules/netlify-cli/node_modules/uqr": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", + "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "inBundle": true, - "license": "ISC", + "peer": true, "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "punycode": "^2.1.0" } }, - "node_modules/npm/node_modules/@npmcli/git": { - "version": "6.0.3", + "node_modules/netlify-cli/node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/netlify-cli/node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.4.0" } }, - "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "3.0.0", + "node_modules/netlify-cli/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "uuid": "dist/esm/bin/uuid" } }, - "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "4.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "glob": "^10.2.2", - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "node_modules/netlify-cli/node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true }, - "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "9.0.0", + "node_modules/netlify-cli/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "cacache": "^19.0.0", - "json-parse-even-better-errors": "^4.0.0", - "pacote": "^21.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/npm/node_modules/@npmcli/name-from-folder": { - "version": "3.0.0", + "node_modules/netlify-cli/node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "inBundle": true, "license": "ISC", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "4.0.0", + "node_modules/netlify-cli/node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, - "inBundle": true, - "license": "ISC", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.8" } }, - "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "6.2.0", + "node_modules/netlify-cli/node_modules/wait-port": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-1.1.0.tgz", + "integrity": "sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" + "chalk": "^4.1.2", + "commander": "^9.3.0", + "debug": "^4.3.4" + }, + "bin": { + "wait-port": "bin/wait-port.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10" } }, - "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "8.0.2", + "node_modules/netlify-cli/node_modules/wait-port/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "which": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/@npmcli/query": { - "version": "4.0.1", + "node_modules/netlify-cli/node_modules/wait-port/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/@npmcli/redact": { - "version": "3.2.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "9.1.0", + "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=7.0.0" } }, - "node_modules/npm/node_modules/@pkgjs/parseargs": { - "version": "0.11.0", + "node_modules/netlify-cli/node_modules/wait-port/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/wait-port/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, "engines": { - "node": ">=14" + "node": "^12.20.0 || >=14" } }, - "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "3.1.0", + "node_modules/netlify-cli/node_modules/wait-port/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "inBundle": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.4.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/@sigstore/core": { - "version": "2.0.0", + "node_modules/netlify-cli/node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" + "dependencies": { + "defaults": "^1.0.3" } }, - "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.4.3", + "node_modules/netlify-cli/node_modules/web-streams-polyfill": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", + "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", "dev": true, - "inBundle": true, - "license": "Apache-2.0", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 8" } }, - "node_modules/npm/node_modules/@sigstore/sign": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "make-fetch-happen": "^14.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "node_modules/netlify-cli/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, - "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "3.1.1", + "node_modules/netlify-cli/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "inBundle": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.4.1", - "tuf-js": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/npm/node_modules/@sigstore/verify": { - "version": "2.1.1", + "node_modules/netlify-cli/node_modules/when-exit": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.3.tgz", + "integrity": "sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "inBundle": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 8" } }, - "node_modules/npm/node_modules/@tufjs/canonical-json": { + "node_modules/netlify-cli/node_modules/which/node_modules/isexe": { "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, - "node_modules/npm/node_modules/@tufjs/models": { - "version": "3.0.1", + "node_modules/netlify-cli/node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" + "string-width": "^7.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/abbrev": { - "version": "3.0.1", + "node_modules/netlify-cli/node_modules/widest-line/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/netlify-cli/node_modules/widest-line/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, - "inBundle": true, - "license": "ISC", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/agent-base": { - "version": "7.1.3", + "node_modules/netlify-cli/node_modules/windows-release": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-6.1.0.tgz", + "integrity": "sha512-1lOb3qdzw6OFmOzoY0nauhLG72TpWtb5qgYPiSh/62rjc1XidBSDio2qw0pwHh17VINF217ebIkZJdFLZFn9SA==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "execa": "^8.0.1" + }, "engines": { - "node": ">= 14" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/npm/node_modules/ansi-styles": { - "version": "6.2.1", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": ">=16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/balanced-match": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/bin-links": { + "node_modules/netlify-cli/node_modules/windows-release/node_modules/human-signals": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "cmd-shim": "^7.0.0", - "npm-normalize-package-bin": "^4.0.0", - "proc-log": "^5.0.0", - "read-cmd-shim": "^5.0.0", - "write-file-atomic": "^6.0.0" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=16.17.0" } }, - "node_modules/npm/node_modules/binary-extensions": { - "version": "3.1.0", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=18.20" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.2", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/cacache": { - "version": "19.0.1", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/cacache/node_modules/chownr": { - "version": "3.0.0", + "node_modules/netlify-cli/node_modules/windows-release/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "inBundle": true, - "license": "BlueOak-1.0.0", "engines": { - "node": ">=18" - } - }, - "node_modules/npm/node_modules/cacache/node_modules/minizlib": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" + "node": ">=14" }, - "engines": { - "node": ">= 18" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, + "node_modules/netlify-cli/node_modules/windows-release/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/cacache/node_modules/tar": { - "version": "7.4.3", + "node_modules/netlify-cli/node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" }, "engines": { - "node": ">=18" - } - }, - "node_modules/npm/node_modules/cacache/node_modules/yallist": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" + "node": ">= 12.0.0" } }, - "node_modules/npm/node_modules/chalk": { - "version": "5.4.1", + "node_modules/netlify-cli/node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/npm/node_modules/chownr": { - "version": "2.0.0", + "node_modules/netlify-cli/node_modules/winston/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "dev": true, - "inBundle": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=0.1.90" } }, - "node_modules/npm/node_modules/ci-info": { - "version": "4.2.0", + "node_modules/netlify-cli/node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "inBundle": true, - "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/cidr-regex": { - "version": "4.1.3", + "node_modules/netlify-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "inBundle": true, - "license": "BSD-2-Clause", "dependencies": { - "ip-regex": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/cli-columns": { - "version": "4.0.0", + "node_modules/netlify-cli/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/cmd-shim": { - "version": "7.0.0", + "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "inBundle": true, - "license": "ISC", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/color-convert": { + "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -33888,146 +31198,93 @@ "node": ">=7.0.0" } }, - "node_modules/npm/node_modules/color-name": { + "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/common-ancestor-path": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/npm/node_modules/cross-spawn": { - "version": "7.0.6", + "node_modules/netlify-cli/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/npm/node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", + "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "node": ">=8" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/debug": { - "version": "4.4.1", + "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" + "color-name": "~1.1.4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/npm/node_modules/diff": { - "version": "7.0.0", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.3.1" + "node": ">=7.0.0" } }, - "node_modules/npm/node_modules/eastasianwidth": { - "version": "0.2.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "inBundle": true, - "license": "MIT" + "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/npm/node_modules/encoding": { - "version": "0.1.13", + "node_modules/netlify-cli/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "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", + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/npm/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.2", - "dev": true, - "inBundle": true, - "license": "Apache-2.0" + "node_modules/netlify-cli/node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, - "node_modules/npm/node_modules/fastest-levenshtein": { - "version": "1.0.16", + "node_modules/netlify-cli/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, "engines": { - "node": ">= 4.9.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/foreground-child": { - "version": "3.3.1", + "node_modules/netlify-cli/node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, "engines": { "node": ">=14" }, @@ -34035,634 +31292,881 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/fs-minipass": { - "version": "3.0.3", + "node_modules/netlify-cli/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/npm/node_modules/glob": { - "version": "10.4.5", + "node_modules/netlify-cli/node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/hosted-git-info": { - "version": "8.1.0", + "node_modules/netlify-cli/node_modules/xss": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", + "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "lru-cache": "^10.0.1" + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.10.0" } }, - "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.2.0", + "node_modules/netlify-cli/node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/netlify-cli/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, - "inBundle": true, - "license": "BSD-2-Clause" + "engines": { + "node": ">=0.4" + } }, - "node_modules/npm/node_modules/http-proxy-agent": { - "version": "7.0.2", + "node_modules/netlify-cli/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, - "inBundle": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.6", + "node_modules/netlify-cli/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, "engines": { - "node": ">= 14" + "node": ">=18" } }, - "node_modules/npm/node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/netlify-cli/node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "bin": { + "yaml": "bin.mjs" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14.6" } }, - "node_modules/npm/node_modules/ignore-walk": { - "version": "7.0.0", + "node_modules/netlify-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "minimatch": "^9.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" } }, - "node_modules/npm/node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/netlify-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">=12" } }, - "node_modules/npm/node_modules/ini": { - "version": "5.0.0", + "node_modules/netlify-cli/node_modules/yargs/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, - "inBundle": true, - "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" } }, - "node_modules/npm/node_modules/init-package-json": { - "version": "8.2.1", + "node_modules/netlify-cli/node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "@npmcli/package-json": "^6.1.0", - "npm-package-arg": "^12.0.0", - "promzard": "^2.0.0", - "read": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^6.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/ip-address": { - "version": "9.0.5", + "node_modules/netlify-cli/node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/netlify-cli/node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, "engines": { - "node": ">= 12" + "node": ">=6" } }, - "node_modules/npm/node_modules/ip-regex": { - "version": "5.0.0", + "node_modules/netlify-cli/node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 14" } }, - "node_modules/npm/node_modules/is-cidr": { - "version": "5.1.1", + "node_modules/netlify-cli/node_modules/zip-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, - "inBundle": true, - "license": "BSD-2-Clause", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "cidr-regex": "^4.1.1" - }, - "engines": { - "node": ">=14" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/npm/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/netlify-cli/node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/npm/node_modules/isexe": { - "version": "2.0.0", + "node_modules/netlify-cli/node_modules/zip-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "inBundle": true, - "license": "ISC" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/npm/node_modules/jackspeak": { - "version": "3.4.3", + "node_modules/netlify-cli/node_modules/zip-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "inBundle": true, - "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/npm/node_modules/jsbn": { - "version": "1.1.0", + "node_modules/netlify-cli/node_modules/zod": { + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", "dev": true, - "inBundle": true, - "license": "MIT" + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } }, - "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "4.0.0", - "dev": true, - "inBundle": true, + "node_modules/netlify-cli/site": { + "name": "cli-docs-site", + "version": "1.0.0", + "extraneous": true, "license": "MIT", - "engines": { - "node": "^18.17.0 || >=20.5.0" + "dependencies": { + "@astrojs/starlight": "^0.31.1", + "astro": "^5.1.5", + "markdown-magic": "2.6.1", + "sharp": "^0.32.5", + "strip-ansi": "7.1.0" } }, - "node_modules/npm/node_modules/json-stringify-nice": { - "version": "1.1.4", + "node_modules/netlify-cli/tools/lint-rules": { + "name": "eslint-plugin-workspace", + "extraneous": true + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true, - "inBundle": true, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "engines": { + "node": ">= 0.4.0" } }, - "node_modules/npm/node_modules/jsonparse": { - "version": "1.3.1", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/just-diff": { - "version": "6.0.2", + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", "dev": true, - "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/just-diff-apply": { - "version": "5.5.0", + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, - "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/libnpmaccess": { - "version": "10.0.1", + "node_modules/nodemon": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", + "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==", "dev": true, - "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1" + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/npm/node_modules/libnpmdiff": { - "version": "8.0.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/arborist": "^9.1.2", - "@npmcli/installed-package-contents": "^3.0.0", - "binary-extensions": "^3.0.0", - "diff": "^7.0.0", - "minimatch": "^9.0.4", - "npm-package-arg": "^12.0.0", - "pacote": "^21.0.0", - "tar": "^6.2.1" + "bin": { + "nodemon": "bin/nodemon.js" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" } }, - "node_modules/npm/node_modules/libnpmexec": { - "version": "10.1.4", + "node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/arborist": "^9.1.2", - "@npmcli/package-json": "^6.1.1", - "@npmcli/run-script": "^9.0.1", - "ci-info": "^4.0.0", - "npm-package-arg": "^12.0.0", - "pacote": "^21.0.0", - "proc-log": "^5.0.0", - "read": "^4.0.0", - "read-package-json-fast": "^4.0.0", - "semver": "^7.3.7", - "walk-up-path": "^4.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/npm/node_modules/libnpmfund": { - "version": "7.0.5", + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/arborist": "^9.1.2" - }, + "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=4" } }, - "node_modules/npm/node_modules/libnpmorg": { - "version": "8.0.0", + "node_modules/nodemon/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, - "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "*" } }, - "node_modules/npm/node_modules/libnpmpack": { - "version": "9.0.5", + "node_modules/nodemon/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "inBundle": true, "license": "ISC", - "dependencies": { - "@npmcli/arborist": "^9.1.2", - "@npmcli/run-script": "^9.0.1", - "npm-package-arg": "^12.0.0", - "pacote": "^21.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=10" } }, - "node_modules/npm/node_modules/libnpmpublish": { - "version": "11.0.1", + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/package-json": "^6.2.0", - "ci-info": "^4.0.0", - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1", - "proc-log": "^5.0.0", - "semver": "^7.3.7", - "sigstore": "^3.0.0", - "ssri": "^12.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=4" } }, - "node_modules/npm/node_modules/libnpmsearch": { - "version": "9.0.0", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "npm-registry-fetch": "^18.0.1" - }, + "license": "MIT", "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/libnpmteam": { - "version": "8.0.1", + "node_modules/npm": { + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-11.4.2.tgz", + "integrity": "sha512-+QweyLIHtiXW7bZpOu8j2ss5w45CF/6MRqlz8RnKs5KsDeI/4/B+WDGI2un9kQizhFrW9SW1mHQr0GDrrWC/8w==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "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", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which" + ], "dev": true, - "inBundle": true, - "license": "ISC", + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], "dependencies": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^9.1.2", + "@npmcli/config": "^10.3.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", + "archy": "~1.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", + "cli-columns": "^4.0.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^8.2.1", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^10.0.1", + "libnpmdiff": "^8.0.5", + "libnpmexec": "^10.1.4", + "libnpmfund": "^7.0.5", + "libnpmorg": "^8.0.0", + "libnpmpack": "^9.0.5", + "libnpmpublish": "^11.0.1", + "libnpmsearch": "^9.0.0", + "libnpmteam": "^8.0.1", + "libnpmversion": "^8.0.1", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^21.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^4.1.0", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", + "supports-color": "^10.0.0", + "tar": "^6.2.1", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/libnpmversion": { - "version": "8.0.1", + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dev": true, - "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.1", - "@npmcli/run-script": "^9.0.1", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.7" + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/lru-cache": { - "version": "10.4.3", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/make-fetch-happen": { - "version": "14.0.3", + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "inBundle": true, "license": "ISC", - "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10" } }, - "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "inBundle": true, "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/npm/node_modules/minimatch": { - "version": "9.0.5", + "node_modules/npm-watch": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.13.0.tgz", + "integrity": "sha512-MYcgocqCzYA44feZhFoYj69FfSaO0EeRE1gcRcmPaXIpNhUMAhNJ1pwic2C4Hn0OPOQmZKSl90CPgmwvOsVhTg==", "dev": true, - "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "nodemon": "^3.0.1", + "through2": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "npm-watch": "cli.js" } }, - "node_modules/npm/node_modules/minipass": { - "version": "7.1.2", + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" } }, - "node_modules/npm/node_modules/minipass-collect": { - "version": "2.0.1", + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/npm/node_modules/minipass-fetch": { - "version": "4.0.1", + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" }, - "optionalDependencies": { - "encoding": "^0.1.13" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { - "version": "3.0.2", + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^7.1.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/minipass-flush": { - "version": "1.0.5", + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "minipass": "^7.0.4" }, "engines": { - "node": ">= 8" + "node": ">=18.0.0" } }, - "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", + "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/agent": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-pipeline": { - "version": "1.2.4", + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "9.1.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^9.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^8.0.0", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^21.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "ssri": "^12.0.0", + "treeverse": "^3.0.0", + "walk-up-path": "^4.0.0" + }, + "bin": { + "arborist": "bin/index.js" }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/@npmcli/config": { + "version": "10.3.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.1.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "walk-up-path": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/minipass-sized": { - "version": "1.0.3", + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "semver": "^7.3.5" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/@npmcli/git": { + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" }, "engines": { - "node": ">= 8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "9.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "license": "ISC", + "dependencies": { + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^21.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=10" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/ms": { - "version": "2.1.3", + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/npm/node_modules/mute-stream": { - "version": "2.0.0", + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -34670,442 +32174,422 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp": { - "version": "11.2.0", + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "6.2.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { - "version": "3.0.2", + "node_modules/npm/node_modules/@npmcli/query": { + "version": "4.0.1", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "minipass": "^7.1.2" + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.2.2", "dev": true, "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, + "license": "ISC", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/tar": { - "version": "7.4.3", + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", + "license": "MIT", + "optional": true, "engines": { - "node": ">=18" + "node": ">=14" } }, - "node_modules/npm/node_modules/nopt": { - "version": "8.1.0", + "node_modules/npm/node_modules/@sigstore/bundle": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/normalize-package-data": { - "version": "7.0.0", + "node_modules/npm/node_modules/@sigstore/core": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^8.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, + "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-audit-report": { - "version": "6.0.0", + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-bundled": { - "version": "4.0.0", + "node_modules/npm/node_modules/@sigstore/sign": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "npm-normalize-package-bin": "^4.0.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-install-checks": { - "version": "7.1.1", + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.1.1", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", "dependencies": { - "semver": "^7.1.1" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "4.0.0", + "node_modules/npm/node_modules/@sigstore/verify": { + "version": "2.1.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-package-arg": { - "version": "12.0.2", + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npm-packlist": { - "version": "10.0.0", + "node_modules/npm/node_modules/@tufjs/models": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "ignore-walk": "^7.0.0" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "10.0.0", + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" - }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-profile": { - "version": "11.0.1", + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.3", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 14" } }, - "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "18.0.2", + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { - "version": "3.0.2", + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, "engines": { - "node": ">= 18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/npm-user-validate": { - "version": "3.0.0", + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "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": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/p-map": { - "version": "7.0.3", + "node_modules/npm/node_modules/binary-extensions": { + "version": "3.1.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=18.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/package-json-from-dist": { - "version": "1.0.1", + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.2", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/npm/node_modules/pacote": { - "version": "21.0.0", + "node_modules/npm/node_modules/cacache": { + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^10.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/parse-conflict-json": { - "version": "4.0.0", + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18" } }, - "node_modules/npm/node_modules/path-key": { - "version": "3.1.1", + "node_modules/npm/node_modules/cacache/node_modules/minizlib": { + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/npm/node_modules/path-scurry": { - "version": "1.11.1", + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "7.1.0", + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/npm/node_modules/proc-log": { + "node_modules/npm/node_modules/cacache/node_modules/yallist": { "version": "5.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18" } }, - "node_modules/npm/node_modules/proggy": { - "version": "3.0.0", + "node_modules/npm/node_modules/chalk": { + "version": "5.4.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/promise-all-reject-late": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/npm/node_modules/promise-call-limit": { - "version": "3.0.2", + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10" } }, - "node_modules/npm/node_modules/promise-retry": { - "version": "2.0.1", + "node_modules/npm/node_modules/ci-info": { + "version": "4.2.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "inBundle": true, "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/npm/node_modules/promzard": { - "version": "2.0.0", + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.1.3", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "read": "^4.0.0" + "ip-regex": "^5.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/qrcode-terminal": { - "version": "0.12.0", - "dev": true, - "inBundle": true, - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" + "node": ">=14" } }, - "node_modules/npm/node_modules/read": { - "version": "4.1.0", + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "mute-stream": "^2.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 10" } }, - "node_modules/npm/node_modules/read-cmd-shim": { - "version": "5.0.0", + "node_modules/npm/node_modules/cmd-shim": { + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -35113,727 +32597,615 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/read-package-json-fast": { - "version": "4.0.0", + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "json-parse-even-better-errors": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=7.0.0" } }, - "node_modules/npm/node_modules/retry": { - "version": "0.12.0", + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } + "license": "MIT" }, - "node_modules/npm/node_modules/safer-buffer": { - "version": "2.1.2", + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", "dev": true, "inBundle": true, - "license": "MIT", - "optional": true + "license": "ISC" }, - "node_modules/npm/node_modules/semver": { - "version": "7.7.2", + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.6", "dev": true, "inBundle": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/npm/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "shebang-regex": "^3.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/npm/node_modules/shebang-regex": { + "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/npm/node_modules/signal-exit": { - "version": "4.1.0", + "node_modules/npm/node_modules/debug": { + "version": "4.4.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": ">=14" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/npm/node_modules/sigstore": { - "version": "3.1.0", + "node_modules/npm/node_modules/diff": { + "version": "7.0.0", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "@sigstore/sign": "^3.1.0", - "@sigstore/tuf": "^3.1.0", - "@sigstore/verify": "^2.1.0" - }, + "license": "BSD-3-Clause", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=0.3.1" } }, - "node_modules/npm/node_modules/smart-buffer": { - "version": "4.2.0", + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } + "license": "MIT" }, - "node_modules/npm/node_modules/socks": { - "version": "2.8.5", + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } + "license": "MIT" }, - "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.5", + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" + "iconv-lite": "^0.6.2" } }, - "node_modules/npm/node_modules/spdx-correct": { - "version": "3.2.0", + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } + "license": "MIT" }, - "node_modules/npm/node_modules/spdx-exceptions": { - "version": "2.5.0", + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.2", "dev": true, "inBundle": true, - "license": "CC-BY-3.0" + "license": "Apache-2.0" }, - "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "4.0.0", + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">= 4.9.1" } }, - "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.21", - "dev": true, - "inBundle": true, - "license": "CC0-1.0" - }, - "node_modules/npm/node_modules/sprintf-js": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause" - }, - "node_modules/npm/node_modules/ssri": { - "version": "12.0.0", + "node_modules/npm/node_modules/foreground-child": { + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/string-width": { - "version": "4.2.3", + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/npm/node_modules/glob": { + "version": "10.4.5", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=8" + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "ansi-regex": "^5.0.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/npm/node_modules/supports-color": { - "version": "10.0.0", + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "engines": { + "node": ">= 14" } }, - "node_modules/npm/node_modules/tar": { - "version": "6.2.1", + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", + "optional": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm/node_modules/ignore-walk": { + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "minimatch": "^9.0.0" }, "engines": { - "node": ">= 8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/tar/node_modules/minipass": { + "node_modules/npm/node_modules/ini": { "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "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", + "node_modules/npm/node_modules/init-package-json": { + "version": "8.2.1", "dev": true, "inBundle": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^6.1.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } }, - "node_modules/npm/node_modules/tinyglobby": { - "version": "0.2.14", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "node": ">= 12" } }, - "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", + "node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", + "node_modules/npm/node_modules/is-cidr": { + "version": "5.1.1", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^4.1.1" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=14" } }, - "node_modules/npm/node_modules/treeverse": { + "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/tuf-js": { - "version": "3.0.1", + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" + "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/npm/node_modules/unique-filename": { + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^5.0.0" - }, + "license": "MIT", "engines": { "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/unique-slug": { - "version": "5.0.0", + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/util-deprecate": { - "version": "1.0.2", + "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/validate-npm-package-license": { - "version": "3.0.4", + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } + "license": "MIT" }, - "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", "dev": true, "inBundle": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } + "license": "MIT" }, - "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "6.0.1", + "node_modules/npm/node_modules/libnpmaccess": { + "version": "10.0.1", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/walk-up-path": { - "version": "4.0.0", + "node_modules/npm/node_modules/libnpmdiff": { + "version": "8.0.5", "dev": true, "inBundle": true, "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^9.1.2", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^3.0.0", + "diff": "^7.0.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0", + "tar": "^6.2.1" + }, "engines": { - "node": "20 || >=22" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/which": { - "version": "5.0.0", + "node_modules/npm/node_modules/libnpmexec": { + "version": "10.1.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "@npmcli/arborist": "^9.1.2", + "@npmcli/package-json": "^6.1.1", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "walk-up-path": "^4.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/which/node_modules/isexe": { - "version": "3.1.1", + "node_modules/npm/node_modules/libnpmfund": { + "version": "7.0.5", "dev": true, "inBundle": true, "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/npm/node_modules/wrap-ansi": { - "version": "8.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@npmcli/arborist": "^9.1.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", + "node_modules/npm/node_modules/libnpmorg": { + "version": "8.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/npm/node_modules/libnpmpack": { + "version": "9.0.5", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "@npmcli/arborist": "^9.1.2", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^21.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", + "node_modules/npm/node_modules/libnpmpublish": { + "version": "11.0.1", "dev": true, "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^6.2.0", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", + "semver": "^7.3.7", + "sigstore": "^3.0.0", + "ssri": "^12.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", + "node_modules/npm/node_modules/libnpmsearch": { + "version": "9.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/npm/node_modules/libnpmteam": { + "version": "8.0.1", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-regex": "^6.0.1" + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/write-file-atomic": { - "version": "6.0.0", + "node_modules/npm/node_modules/libnpmversion": { + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.7" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/npm/node_modules/yallist": { - "version": "4.0.0", + "node_modules/npm/node_modules/lru-cache": { + "version": "10.4.3", "dev": true, "inBundle": true, "license": "ISC" }, - "node_modules/nwsapi": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", - "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nx": { - "version": "21.2.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-21.2.2.tgz", - "integrity": "sha512-SP+gojzJhvUfGPw94myECAvF+a7KDQe8c1HUr2HOPR20oSukpdhZM2B1Ki4FGUUuzOcCILhNT2QHLo82+FGLng==", + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "14.0.3", "dev": true, - "hasInstallScript": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@napi-rs/wasm-runtime": "0.2.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.2", - "@zkochan/js-yaml": "0.0.7", - "axios": "^1.8.3", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.4.5", - "dotenv-expand": "~11.0.6", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "front-matter": "^4.0.2", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "jsonc-parser": "3.2.0", - "lines-and-columns": "2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "resolve.exports": "2.0.3", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tree-kill": "^1.2.2", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yaml": "^2.6.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "21.2.2", - "@nx/nx-darwin-x64": "21.2.2", - "@nx/nx-freebsd-x64": "21.2.2", - "@nx/nx-linux-arm-gnueabihf": "21.2.2", - "@nx/nx-linux-arm64-gnu": "21.2.2", - "@nx/nx-linux-arm64-musl": "21.2.2", - "@nx/nx-linux-x64-gnu": "21.2.2", - "@nx/nx-linux-x64-musl": "21.2.2", - "@nx/nx-win32-arm64-msvc": "21.2.2", - "@nx/nx-win32-x64-msvc": "21.2.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/nx/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/nx/node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/nx/node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, "engines": { - "node": ">=8.6" + "node": ">= 0.6" } }, - "node_modules/nx/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/nx/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.5", "dev": true, + "inBundle": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -35845,556 +33217,508 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/nx/node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "node_modules/npm/node_modules/minipass": { + "version": "7.1.2", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/nx/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", "dev": true, + "inBundle": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "minipass": "^7.0.3" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/npm/node_modules/minipass-fetch": { + "version": "4.0.1", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, "engines": { - "node": ">= 0.4" + "node": "^18.17.0 || >=20.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { + "version": "3.0.2", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, "engines": { - "node": ">= 0.4" + "node": ">= 18" } }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", "dev": true, + "inBundle": true, "license": "ISC", "dependencies": { - "wrappy": "1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", "dev": true, + "inBundle": true, "license": "MIT", "bin": { - "opencollective-postinstall": "index.js" + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 0.8.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "node_modules/npm/node_modules/node-gyp": { + "version": "11.2.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "node-gyp": "bin/node-gyp.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { + "version": "3.0.2", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 18" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "p-limit": "^2.2.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, + "inBundle": true, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/npm/node_modules/nopt": { + "version": "8.1.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, "engines": { - "node": ">=6" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pac-proxy-agent": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", - "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "node_modules/npm/node_modules/normalize-package-data": { + "version": "7.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.6", - "pac-resolver": "^7.0.1", - "socks-proxy-agent": "^8.0.5" + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pac-proxy-agent/node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/npm/node_modules/npm-audit-report": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pac-proxy-agent/node_modules/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==", + "node_modules/npm/node_modules/npm-bundled": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/npm/node_modules/npm-install-checks": { + "version": "7.1.1", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "BSD-2-Clause", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "semver": "^7.1.1" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - }, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/npm/node_modules/npm-package-arg": { + "version": "12.0.2", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/npm/node_modules/npm-packlist": { + "version": "10.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "callsites": "^3.0.0" + "ignore-walk": "^7.0.0" }, "engines": { - "node": ">=6" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "10.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "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" + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/parse-json/node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/npm/node_modules/npm-profile": { + "version": "11.0.1", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/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==", + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "18.0.2", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { + "version": "3.0.2", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "minipass": "^7.1.2" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">= 18" } }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", "dev": true, + "inBundle": true, "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/npm/node_modules/p-map": { + "version": "7.0.3", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-browserify": { + "node_modules/npm/node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "BlueOak-1.0.0" }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/npm/node_modules/pacote": { + "version": "21.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true, - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { + "node_modules/npm/node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "inBundle": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { + "node_modules/npm/node_modules/path-scurry": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", @@ -36407,1122 +33731,1111 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "7.1.0", "dev": true, - "license": "ISC" + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/path-to-regexp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", - "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "node_modules/npm/node_modules/proc-log": { + "version": "5.0.0", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/pathval": { + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, "engines": { - "node": ">= 14.16" + "node": ">=10" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "node_modules/npm/node_modules/promzard": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", "dev": true, - "license": "ISC" + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/npm/node_modules/read": { + "version": "4.1.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "^2.0.0" + }, "engines": { - "node": ">=8.6" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", "dev": true, + "inBundle": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 4" } }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.7.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pkg-dir/node_modules/p-limit": { + "node_modules/npm/node_modules/sigstore": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "yocto-queue": "^0.1.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/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.8.5", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.5", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/please-upgrade-node": { + "node_modules/npm/node_modules/spdx-correct": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "Apache-2.0", "dependencies": { - "semver-compare": "^1.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "lodash": "^4.17.14" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.21", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ssri": { + "version": "12.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "ms": "^2.1.1" + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.6" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=8" } }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "node_modules/npm/node_modules/string-width-cjs": { + "name": "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": ">= 0.4" + "node": ">=8" } }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", "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" - } - ], + "inBundle": true, "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "node_modules/npm/node_modules/supports-color": { + "version": "10.0.0", "dev": true, + "inBundle": true, "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/npm/node_modules/tar": { + "version": "6.2.1", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", "dev": true, + "inBundle": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "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/tinyglobby": { + "version": "0.2.14", "dev": true, + "inBundle": true, "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=0.4.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "engines": { - "node": ">= 6" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/proxy-agent": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", - "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.6", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.1.0", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.5" - }, "engines": { - "node": ">= 14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/proxy-agent/node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 14" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/proxy-agent/node_modules/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==", + "node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/npm/node_modules/unique-filename": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "unique-slug": "^5.0.0" }, "engines": { - "node": ">= 14" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/npm/node_modules/unique-slug": { + "version": "5.0.0", "dev": true, + "inBundle": true, "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, "engines": { - "node": ">=12" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, + "inBundle": true, "license": "MIT" }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "6.0.1", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=6" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "node_modules/npm/node_modules/walk-up-path": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=6" + "node": "20 || >=22" } }, - "node_modules/puppeteer": { - "version": "24.12.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.12.1.tgz", - "integrity": "sha512-+vvwl+Xo4z5uXLLHG+XW8uXnUXQ62oY6KU6bEFZJvHWLutbmv5dw9A/jcMQ0fqpQdLydHmK0Uy7/9Ilj8ufwSQ==", + "node_modules/npm/node_modules/which": { + "version": "5.0.0", "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", + "inBundle": true, + "license": "ISC", "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", - "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1464554", - "puppeteer-core": "24.12.1", - "typed-query-selector": "^2.12.0" + "isexe": "^3.1.1" }, "bin": { - "puppeteer": "lib/cjs/puppeteer/node/cli.js" + "node-which": "bin/which.js" }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/puppeteer-core": { - "version": "24.12.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.12.1.tgz", - "integrity": "sha512-8odp6d3ERKBa3BAVaYWXn95UxQv3sxvP1reD+xZamaX6ed8nCykhwlOiHSaHR9t/MtmIB+rJmNencI6Zy4Gxvg==", + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", - "debug": "^4.4.1", - "devtools-protocol": "0.0.1464554", - "typed-query-selector": "^2.12.0", - "ws": "^8.18.3" - }, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">=18" + "node": ">=16" } }, - "node_modules/puppeteer/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, - "license": "Python-2.0" - }, - "node_modules/puppeteer/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/puppeteer/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/quansync": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", - "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/antfu" - }, - { - "type": "individual", - "url": "https://github.com/sponsors/sxzz" - } - ], - "license": "MIT" - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "inBundle": true, "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "dev": true, - "license": "MIT", + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "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" + "node": ">=8" }, - "bin": { - "rc": "cli.js" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, + "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/re-emitter": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/re-emitter/-/re-emitter-1.1.4.tgz", - "integrity": "sha512-C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==", - "license": "MIT" - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, + "inBundle": true, "license": "MIT" }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">= 6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", "dev": true, + "inBundle": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/reflect-metadata": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", - "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", - "deprecated": "This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "node_modules/npm/node_modules/write-file-atomic": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC" }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/nx": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-21.3.2.tgz", + "integrity": "sha512-GK/AH0xqlCd+hHVQiNjrfP26fiR5UmfL/L/1IEjL8uqPcYsyBkWMiyuGWY4pZYBJmJXp1lbPYVE6ZQ1qAWhC8w==", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.8.3", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^30.0.2", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "resolve.exports": "2.0.3", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tree-kill": "^1.2.2", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "21.3.2", + "@nx/nx-darwin-x64": "21.3.2", + "@nx/nx-freebsd-x64": "21.3.2", + "@nx/nx-linux-arm-gnueabihf": "21.3.2", + "@nx/nx-linux-arm64-gnu": "21.3.2", + "@nx/nx-linux-arm64-musl": "21.3.2", + "@nx/nx-linux-x64-gnu": "21.3.2", + "@nx/nx-linux-x64-musl": "21.3.2", + "@nx/nx-win32-arm64-msvc": "21.3.2", + "@nx/nx-win32-x64-msvc": "21.3.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "node_modules/nx/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" + "@sinclair/typebox": "^0.34.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "node_modules/nx/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nx/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "node_modules/nx/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", "dev": true, - "license": "MIT", - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "node_modules/nx/node_modules/jest-diff": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz", + "integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==", "dev": true, "license": "MIT", "dependencies": { - "rc": "^1.0.1" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.0.1", + "chalk": "^4.1.2", + "pretty-format": "30.0.5" }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "node_modules/nx/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true, "license": "MIT" }, - "node_modules/regjsparser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", - "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "node_modules/nx/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "jsesc": "~3.0.2" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "node_modules/nx/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 0.10" + "node": ">=10" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/requizzle": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", - "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "lodash": "^4.17.21" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "expand-tilde": "^1.2.2", - "global-modules": "^0.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/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, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", "dev": true, "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "bin": { + "opencollective-postinstall": "index.js" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "2.79.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", - "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "license": "MIT", - "peer": true, + "license": "(WTFPL OR MIT)", "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "opener": "bin/opener-bin.js" } }, - "node_modules/rrweb-cssom": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", - "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -37531,724 +34844,780 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=v12.22.7" + "node": ">=8" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/sdp-transform": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.2.tgz", - "integrity": "sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==", - "license": "MIT", - "bin": { - "sdp-verify": "checker.js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, - "license": "MIT" - }, - "node_modules/semantic-sdp": { - "version": "3.31.1", - "resolved": "https://registry.npmjs.org/semantic-sdp/-/semantic-sdp-3.31.1.tgz", - "integrity": "sha512-esBGP11uWeHyvGwqDT1sf1p45H+kb7m5D49TIBHwYXXepzDFD24ar91eIwBQ8kwWWO8MNZfizsZ7CvBgYV9GuA==", "license": "MIT", "dependencies": { - "equals-ignore-case": "^1.0.0", - "randombytes": "^2.0.3", - "sdp-transform": "^2" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "dev": true, - "license": "MIT" - }, - "node_modules/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, - "license": "MIT", + "aggregate-error": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/serve": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", - "integrity": "sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==", + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", "dev": true, "license": "MIT", "dependencies": { - "@zeit/schemas": "2.36.0", - "ajv": "8.12.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.7.4", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.6", - "update-check": "1.5.4" + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" }, - "bin": { - "serve": "build/main.js" + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" }, "engines": { "node": ">= 14" } }, - "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "node_modules/parse-json/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/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, "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/serve/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "entities": "^6.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/serve/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true, "license": "MIT" }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/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/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "shebang-regex": "^3.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 14.16" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, - "node_modules/showdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz", - "integrity": "sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "dependencies": { - "commander": "^9.0.0" - }, - "bin": { - "showdown": "bin/showdown.js" + "engines": { + "node": ">=12" }, "funding": { - "type": "individual", - "url": "https://www.paypal.me/tiviesantos" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/showdown/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || >=14" + "node": ">= 6" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" + "find-up": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" + "p-locate": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "semver-compare": "^1.0.0" + } }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "node_modules/portfinder": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.37.tgz", + "integrity": "sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "async": "^3.2.6", + "debug": "^4.3.6" }, "engines": { - "node": ">=10" + "node": ">= 10.12" } }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "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": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=18" + "node": "^10 || ^12 || >=14" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/socks": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", - "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">=0.4.0" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", - "socks": "^2.8.3" + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" }, "engines": { "node": ">= 14" } }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">= 14" + "node": ">=12" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "license": "MIT" - }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/spawnd": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-11.0.0.tgz", - "integrity": "sha512-brBHv9HYi8lwNvbI7X52NDZe4yAdsQwvr81b/r98LaN82LzeEnQ0L6YXBvG25zhgWRadTwB+4GsUu9NrNQcVzw==", + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/puppeteer": { + "version": "24.14.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.14.0.tgz", + "integrity": "sha512-GB7suRDkp9pUnxpNGAORICQCtw11KFbg6U2iJXVTflzJLK5D1qzq8xOOmLgN/QnDBpDMdpn96ri52XkuN83Giw==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "signal-exit": "^4.1.0", - "tree-kill": "^1.2.2" + "@puppeteer/browsers": "2.10.6", + "chromium-bidi": "7.1.1", + "cosmiconfig": "^9.0.0", + "devtools-protocol": "0.0.1464554", + "puppeteer-core": "24.14.0", + "typed-query-selector": "^2.12.0" + }, + "bin": { + "puppeteer": "lib/cjs/puppeteer/node/cli.js" }, "engines": { "node": ">=18" } }, - "node_modules/spawnd/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/puppeteer-core": { + "version": "24.14.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.14.0.tgz", + "integrity": "sha512-NO9XpCl+i8oB0zJp81iPhzMo2QK8/JTj4ramSvTpGCo9CPCNo4AZ8qVOGpSgXzlcOfOT3VHOkzTfPo08GOE5jA==", "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" + "license": "Apache-2.0", + "dependencies": { + "@puppeteer/browsers": "2.10.6", + "chromium-bidi": "7.1.1", + "debug": "^4.4.1", + "devtools-protocol": "0.0.1464554", + "typed-query-selector": "^2.12.0", + "ws": "^8.18.3" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=18" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "node_modules/puppeteer/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, - "license": "BSD-3-Clause" + "license": "Python-2.0" }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/puppeteer/node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/puppeteer/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], "license": "MIT" }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" + "side-channel": "^1.1.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamx": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", - "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" + "node": ">=0.6" }, - "optionalDependencies": { - "bare-events": "^2.2.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -38266,112 +35635,128 @@ ], "license": "MIT" }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.6.19" + "node": ">= 0.6" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, - "license": "MIT", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">=10" + "bin": { + "rc": "cli.js" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/re-emitter": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/re-emitter/-/re-emitter-1.1.4.tgz", + "integrity": "sha512-C0SIXdXDSus2yqqvV7qifnb4NoWP7mEBXJq3axci301mXHCZb8Djwm4hrEZo4UeXRaEnfjH98uQ8EBppk2oNWA==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.10.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/reflect-metadata": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", + "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", + "deprecated": "This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -38380,2069 +35765,1882 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true, - "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" - } + "license": "MIT" }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, - "node_modules/strip-literal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", - "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", "dev": true, "license": "MIT", "dependencies": { - "js-tokens": "^9.0.1" + "rc": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "dev": true, "license": "MIT" }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" + "jsesc": "~3.0.2" }, "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, - "engines": { - "node": ">=4" + "regjsparser": "bin/parser" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/swc-loader": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.1.15.tgz", - "integrity": "sha512-cn1WPIeQJvXM4bbo3OwdEIapsQ4uUGOfyFj0h2+2+brT0k76DCGnZXDE2KmcqTd2JSQ+b61z2NPMib7eEwMYYw==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0" - }, - "peerDependencies": { - "@swc/core": "^1.2.52", - "webpack": ">=2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "node_modules/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, "license": "MIT" }, - "node_modules/synckit": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", - "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.4" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/synckit" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tar-fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", - "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", + "node_modules/resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" }, - "optionalDependencies": { - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tar-fs/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "engines": { + "node": ">=8" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/terser": { - "version": "5.34.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", - "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/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/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@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" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "node": ">=8" } }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=8" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } + "license": "MIT" }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "dev": true, "license": "MIT", "peer": true, - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", "dev": true, "license": "MIT" }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" + "queue-microtask": "^1.2.2" } }, - "node_modules/text-decoder": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", - "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "b4a": "^1.6.4" + "tslib": "^2.1.0" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tiny-typed-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", - "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "es-errors": "^1.3.0", + "isarray": "^2.0.5" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } + "license": "MIT" }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=v12.22.7" } }, - "node_modules/tinyspy": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", - "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", - "dev": true, + "node_modules/sdp-transform": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.15.0.tgz", + "integrity": "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==", "license": "MIT", - "engines": { - "node": ">=14.0.0" + "bin": { + "sdp-verify": "checker.js" } }, - "node_modules/tldts": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", "dev": true, + "license": "MIT" + }, + "node_modules/semantic-sdp": { + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/semantic-sdp/-/semantic-sdp-3.31.1.tgz", + "integrity": "sha512-esBGP11uWeHyvGwqDT1sf1p45H+kb7m5D49TIBHwYXXepzDFD24ar91eIwBQ8kwWWO8MNZfizsZ7CvBgYV9GuA==", "license": "MIT", "dependencies": { - "tldts-core": "^6.1.86" - }, + "equals-ignore-case": "^1.0.0", + "randombytes": "^2.0.3", + "sdp-transform": "^2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", "bin": { - "tldts": "bin/cli.js" + "semver": "bin/semver.js" } }, - "node_modules/tldts-core": { - "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "dev": true, "license": "MIT" }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "node_modules/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, "license": "MIT", "engines": { - "node": ">=14.14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "node_modules/serve": { + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", + "integrity": "sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.6", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" - }, + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8.0" + "node": ">= 0.6" } }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "node_modules/serve-handler/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", - "bin": { - "nodetouch": "bin/nodetouch.js" + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "node_modules/serve/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^2.3.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=14" + "node": ">= 0.4" } }, - "node_modules/transaction-manager": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/transaction-manager/-/transaction-manager-2.1.7.tgz", - "integrity": "sha512-0b52KTocdpYRm51feDXsj+NAJseFNot/LFVK7bJymRpebAlsUZi3G+H9iMSzmqQeQmFMVhGzu4gOzyT/N4jo9Q==", + "node_modules/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==", + "dev": true, "license": "MIT", "dependencies": { - "tiny-typed-emitter": "2.1.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/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==", + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, "license": "MIT", - "bin": { - "tree-kill": "cli.js" + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12" + "dependencies": { + "shebang-regex": "^3.0.0" }, - "peerDependencies": { - "typescript": ">=4.8.4" + "engines": { + "node": ">=8" } }, - "node_modules/ts-declaration-location": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", - "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "funding": [ - { - "type": "ko-fi", - "url": "https://ko-fi.com/rebeccastevens" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/ts-declaration-location" - } - ], - "license": "BSD-3-Clause", - "dependencies": { - "picomatch": "^4.0.2" - }, - "peerDependencies": { - "typescript": ">=4.0.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/ts-declaration-location/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-jest": { - "version": "29.2.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", - "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", "dependencies": { - "bs-logger": "^0.2.6", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "^2.1.0", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.6.3", - "yargs-parser": "^21.1.1" - }, - "bin": { - "ts-jest": "cli.js" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "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" - }, - "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" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "license": "MIT", "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "node_modules/socks": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", + "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 14" } }, - "node_modules/typed-query-selector": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", - "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/typedoc": { - "version": "0.28.5", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.5.tgz", - "integrity": "sha512-5PzUddaA9FbaarUzIsEc4wNXCiO4Ot3bJNeMF2qKpYlTmM9TTaSHQ7162w756ERCkXER/+o2purRG6YOAv6EMA==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@gerrit0/mini-shiki": "^3.2.2", - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.7.1" - }, - "bin": { - "typedoc": "bin/typedoc" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">= 18", - "pnpm": ">= 10" - }, - "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + "node": ">=0.10.0" } }, - "node_modules/typedoc-plugin-mdn-links": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-5.0.2.tgz", - "integrity": "sha512-Bd3lsVWPSpDkn6NGZyPHpcK088PUvH4SRq4RD97OjA6l8PQA3yOnJhGACtjmIDdcenRTgWUosH+55ANZhx/wkw==", + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "license": "MIT", - "peerDependencies": { - "typedoc": "0.27.x || 0.28.x" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true, + "license": "MIT" + }, + "node_modules/spawnd": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-11.0.0.tgz", + "integrity": "sha512-brBHv9HYi8lwNvbI7X52NDZe4yAdsQwvr81b/r98LaN82LzeEnQ0L6YXBvG25zhgWRadTwB+4GsUu9NrNQcVzw==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "signal-exit": "^4.1.0", + "tree-kill": "^1.2.2" + }, + "engines": { + "node": ">=18" } }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/spawnd/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } + "license": "BSD-3-Clause" }, - "node_modules/typescript-eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.37.0.tgz", - "integrity": "sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.37.0", - "@typescript-eslint/parser": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/utils": "8.37.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "node": ">=10" } }, - "node_modules/ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, "license": "MIT" }, - "node_modules/ufo": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", - "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, - "node_modules/unbox-primitive": { + "node_modules/stop-iteration-iterator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "node_modules/streamx": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", + "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } }, - "node_modules/underscore": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "node_modules/undici-types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", - "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.6.19" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "license": "MIT", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, "dependencies": { - "qs": "^6.4.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "napi-postinstall": "^0.3.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" + "engines": { + "node": ">= 0.4" }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "punycode": "^2.1.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=8" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10.12.0" + "node": ">=6" } }, - "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" + "has-flag": "^4.0.0" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite-node": { + "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, "license": "MIT", "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.1", - "es-module-lexer": "^1.7.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "bin": { - "vite-node": "vite-node.mjs" + "@pkgr/core": "^0.2.9" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/synckit" } }, - "node_modules/vite-plugin-dts": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", - "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", + "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", "dev": true, "license": "MIT", "dependencies": { - "@microsoft/api-extractor": "^7.50.1", - "@rollup/pluginutils": "^5.1.4", - "@volar/typescript": "^2.4.11", - "@vue/language-core": "2.2.0", - "compare-versions": "^6.1.1", - "debug": "^4.4.0", - "kolorist": "^1.8.0", - "local-pkg": "^1.0.0", - "magic-string": "^0.30.17" - }, - "peerDependencies": { - "typescript": "*", - "vite": "*" + "pump": "^3.0.0", + "tar-stream": "^3.1.5" }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" } }, - "node_modules/vite-plugin-dts/node_modules/@rollup/pluginutils": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", - "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": ">=6" } }, - "node_modules/vite-plugin-dts/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/terser": { + "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.14.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/vite-plugin-dts/node_modules/compare-versions": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", - "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, - "node_modules/vite-plugin-dts/node_modules/confbox": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", - "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/vite-plugin-dts/node_modules/local-pkg": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", - "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.0.1", - "quansync": "^0.2.8" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "node": ">=8" } }, - "node_modules/vite-plugin-dts/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/vite-plugin-dts/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": "*" } }, - "node_modules/vite-plugin-dts/node_modules/pkg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", - "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "confbox": "^0.2.2", - "exsolve": "^1.0.7", - "pathe": "^2.0.3" + "b4a": "^1.6.4" } }, - "node_modules/vite/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true, "license": "MIT" }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "dependencies": { + "readable-stream": "3" } }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/tiny-typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", + "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=12" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/vite/node_modules/rollup": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", - "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.2", - "@rollup/rollup-android-arm64": "4.44.2", - "@rollup/rollup-darwin-arm64": "4.44.2", - "@rollup/rollup-darwin-x64": "4.44.2", - "@rollup/rollup-freebsd-arm64": "4.44.2", - "@rollup/rollup-freebsd-x64": "4.44.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", - "@rollup/rollup-linux-arm-musleabihf": "4.44.2", - "@rollup/rollup-linux-arm64-gnu": "4.44.2", - "@rollup/rollup-linux-arm64-musl": "4.44.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-musl": "4.44.2", - "@rollup/rollup-linux-s390x-gnu": "4.44.2", - "@rollup/rollup-linux-x64-gnu": "4.44.2", - "@rollup/rollup-linux-x64-musl": "4.44.2", - "@rollup/rollup-win32-arm64-msvc": "4.44.2", - "@rollup/rollup-win32-ia32-msvc": "4.44.2", - "@rollup/rollup-win32-x64-msvc": "4.44.2", - "fsevents": "~2.3.2" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/vitest": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", - "@vitest/pretty-format": "^3.2.4", - "@vitest/runner": "3.2.4", - "@vitest/snapshot": "3.2.4", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "debug": "^4.4.1", - "expect-type": "^1.2.1", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tinypool": "^1.1.1", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.4", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.4", - "@vitest/ui": "3.2.4", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } + "node": ">=14.0.0" } }, - "node_modules/vitest/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/tinyspy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/vitest/node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + "tldts-core": "^6.1.86" }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/vitest/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" + "engines": { + "node": ">=14.14" } }, - "node_modules/vitest/node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=6" } }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", "dev": true, - "license": "MIT" + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "xml-name-validator": "^4.0.0" + "tldts": "^6.1.32" }, "engines": { - "node": ">=14" + "node": ">=16" } }, - "node_modules/wait-on": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.3.tgz", - "integrity": "sha512-nQFqAFzZDeRxsu7S3C7LbuxslHhk+gnJZHyethuGKAn2IVleIbTB9I3vJSQiSR+DifUqmdzfPMoMPJfLqMF2vw==", + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", "dependencies": { - "axios": "^1.8.2", - "joi": "^17.13.3", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.2" - }, - "bin": { - "wait-on": "bin/wait-on" + "punycode": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=18" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "license": "Apache-2.0", + "node_modules/transaction-manager": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/transaction-manager/-/transaction-manager-2.1.7.tgz", + "integrity": "sha512-0b52KTocdpYRm51feDXsj+NAJseFNot/LFVK7bJymRpebAlsUZi3G+H9iMSzmqQeQmFMVhGzu4gOzyT/N4jo9Q==", + "license": "MIT", "dependencies": { - "makeerror": "1.0.12" + "tiny-typed-emitter": "2.1.0" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "node_modules/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, "license": "MIT", - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "node_modules/ts-declaration-location": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", + "integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "funding": [ + { + "type": "ko-fi", + "url": "https://ko-fi.com/rebeccastevens" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/ts-declaration-location" + } + ], + "license": "BSD-3-Clause", + "dependencies": { + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "typescript": ">=4.0.0" } }, - "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "node_modules/ts-jest": { + "version": "29.4.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.0.tgz", + "integrity": "sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "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.11", - "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.1", - "webpack-sources": "^3.2.3" + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.2", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" }, "bin": { - "webpack": "bin/webpack.js" + "ts-jest": "cli.js" }, "engines": { - "node": ">=10.13.0" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <6" }, "peerDependenciesMeta": { - "webpack-cli": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { "optional": true } } }, - "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==", + "node_modules/ts-jest/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT", - "peer": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=10.13.0" + "node": ">=10" } }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "license": "MIT", - "peer": true + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/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, - "license": "BSD-2-Clause", - "peer": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">=8.0.0" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } + "license": "MIT" }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "0.6.3" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/whatwg-mimetype": { + "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/whatwg-url": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", - "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=14" + "node": ">= 0.8.0" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -40451,30 +37649,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", + "for-each": "^0.3.3", "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -40483,1591 +37671,1496 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "license": "MIT", "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/typed-query-selector": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", + "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", "dev": true, "license": "MIT" }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/typedoc": { + "version": "0.28.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.7.tgz", + "integrity": "sha512-lpz0Oxl6aidFkmS90VQDQjk/Qf2iw0IUvFqirdONBdj7jPSN9mGXhy66BcGNDxx5ZMyKKiBVAREvPEzT6Uxipw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" + "@gerrit0/mini-shiki": "^3.7.0", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.8.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" + "bin": { + "typedoc": "bin/typedoc" }, "engines": { - "node": ">=12" + "node": ">= 18", + "pnpm": ">= 10" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "node_modules/typedoc-plugin-mdn-links": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/typedoc-plugin-mdn-links/-/typedoc-plugin-mdn-links-5.0.5.tgz", + "integrity": "sha512-M6aZtJokVIiDpgVnozmn653t28FU8iiNu6mg0GHifuHv5egG5rRMlm0tscMRMG02+7xK51MfRWS2xvaoSWMEeg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "typedoc": "0.27.x || 0.28.x" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=14.17" } }, - "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, - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/typescript-eslint": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.38.0.tgz", + "integrity": "sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "@typescript-eslint/eslint-plugin": "8.38.0", + "@typescript-eslint/parser": "8.38.0", + "@typescript-eslint/typescript-estree": "8.38.0", + "@typescript-eslint/utils": "8.38.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" }, - "utf-8-validate": { - "optional": true + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "license": "Apache-2.0", + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, "engines": { - "node": ">=12" + "node": "*" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, "license": "MIT" }, - "node_modules/xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", "dev": true, - "license": "Apache-2.0", - "peer": true + "license": "MIT" }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 14.6" + "node": ">=4" } }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "engines": { + "node": ">=4" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", "dev": true, - "license": "MIT", + "dependencies": { + "qs": "^6.4.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.0.0" } }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "packages/millicast-chromecast-receiver": {}, - "packages/millicast-multiview-demo": {}, - "packages/millicast-publisher-demo": {}, - "packages/millicast-sdk": { - "name": "@millicast/sdk", - "version": "1.0.0", - "license": "See in LICENSE file", "dependencies": { - "@dolbyio/webrtc-stats": "^1.0.4", - "buffer": "^6.0.3", - "events": "^3.3.0", - "js-base64": "^3.7.7", - "js-logger": "^1.6.1", - "jwt-decode": "^3.1.2", - "re-emitter": "^1.1.4", - "semantic-sdp": "^3.22.0", - "transaction-manager": "^2.1.3", - "tslib": "^2.7.0", - "ua-parser-js": "^1.0.38" + "napi-postinstall": "^0.3.0" }, - "devDependencies": { - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.31.0", - "@nx/eslint": "21.2.3", - "@nx/eslint-plugin": "21.2.3", - "@typescript-eslint/eslint-plugin": "^8.37.0", - "@typescript-eslint/parser": "^8.37.0", - "jest": "^30.0.4", - "jest-cucumber": "^4.5.0", - "jest-environment-jsdom": "^30.0.4", - "jest-environment-node": "^30.0.4", - "jest-puppeteer": "^11.0.0", - "jest-websocket-mock": "^2.5.0", - "lint-staged": "^10.5.4", - "npm-watch": "^0.13.0", - "typescript-eslint": "^8.37.0" - } - }, - "packages/millicast-sdk/node_modules/@jest/console": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.0.4.tgz", - "integrity": "sha512-tMLCDvBJBwPqMm4OAiuKm2uF5y5Qe26KgcMn+nrDSWpEW+eeFmqA0iO4zJfL16GP7gE3bUUQ3hIuUJ22AqVRnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.0.1", - "@types/node": "*", - "chalk": "^4.1.2", - "jest-message-util": "30.0.2", - "jest-util": "30.0.2", - "slash": "^3.0.0" + "funding": { + "url": "https://opencollective.com/unrs-resolver" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, - "packages/millicast-sdk/node_modules/@jest/core": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.0.4.tgz", - "integrity": "sha512-MWScSO9GuU5/HoWjpXAOBs6F/iobvK1XlioelgOM9St7S0Z5WTI9kjCQLPeo4eQRRYusyLW25/J7J5lbFkrYXw==", + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "@jest/console": "30.0.4", - "@jest/pattern": "30.0.1", - "@jest/reporters": "30.0.4", - "@jest/test-result": "30.0.4", - "@jest/transform": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-changed-files": "30.0.2", - "jest-config": "30.0.4", - "jest-haste-map": "30.0.2", - "jest-message-util": "30.0.2", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.0.2", - "jest-resolve-dependencies": "30.0.4", - "jest-runner": "30.0.4", - "jest-runtime": "30.0.4", - "jest-snapshot": "30.0.4", - "jest-util": "30.0.2", - "jest-validate": "30.0.2", - "jest-watcher": "30.0.4", - "micromatch": "^4.0.8", - "pretty-format": "30.0.2", - "slash": "^3.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "bin": { + "update-browserslist-db": "cli.js" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "browserslist": ">= 4.21.0" } }, - "packages/millicast-sdk/node_modules/@jest/environment": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.4.tgz", - "integrity": "sha512-5NT+sr7ZOb8wW7C4r7wOKnRQ8zmRWQT2gW4j73IXAKp5/PX1Z8MCStBLQDYfIG3n1Sw0NRfYGdp0iIPVooBAFQ==", + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "jest-mock": "30.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" } }, - "packages/millicast-sdk/node_modules/@jest/expect": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.0.4.tgz", - "integrity": "sha512-Z/DL7t67LBHSX4UzDyeYKqOxE/n7lbrrgEwWM3dGiH5Dgn35nk+YtgzKudmfIrBI8DRRrKYY5BCo3317HZV1Fw==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "expect": "30.0.4", - "jest-snapshot": "30.0.4" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "punycode": "^2.1.0" } }, - "packages/millicast-sdk/node_modules/@jest/expect-utils": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.4.tgz", - "integrity": "sha512-EgXecHDNfANeqOkcak0DxsoVI4qkDUsR7n/Lr2vtmTBjwLPBnnPOF71S11Q8IObWzxm2QgQoY6f9hzrRD3gHRA==", + "node_modules/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, + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", "dependencies": { - "@jest/get-type": "30.0.1" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10.12.0" } }, - "packages/millicast-sdk/node_modules/@jest/fake-timers": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.4.tgz", - "integrity": "sha512-qZ7nxOcL5+gwBO6LErvwVy5k06VsX/deqo2XnVUSTV0TNC9lrg8FC3dARbi+5lmrr5VyX5drragK+xLcOjvjYw==", + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.0.1", - "@sinonjs/fake-timers": "^13.0.0", - "@types/node": "*", - "jest-message-util": "30.0.2", - "jest-mock": "30.0.2", - "jest-util": "30.0.2" - }, + "license": "ISC", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/millicast-sdk/node_modules/@jest/globals": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.0.4.tgz", - "integrity": "sha512-avyZuxEHF2EUhFF6NEWVdxkRRV6iXXcIES66DLhuLlU7lXhtFG/ySq/a8SRZmEJSsLkNAFX6z6mm8KWyXe9OEA==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "30.0.4", - "@jest/expect": "30.0.4", - "@jest/types": "30.0.1", - "jest-mock": "30.0.2" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.8" } }, - "packages/millicast-sdk/node_modules/@jest/reporters": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.0.4.tgz", - "integrity": "sha512-6ycNmP0JSJEEys1FbIzHtjl9BP0tOZ/KN6iMeAKrdvGmUsa1qfRdlQRUDKJ4P84hJ3xHw1yTqJt4fvPNHhyE+g==", + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.0.4", - "@jest/test-result": "30.0.4", - "@jest/transform": "30.0.4", - "@jest/types": "30.0.1", - "@jridgewell/trace-mapping": "^0.3.25", - "@types/node": "*", - "chalk": "^4.1.2", - "collect-v8-coverage": "^1.0.2", - "exit-x": "^0.2.2", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^5.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "30.0.2", - "jest-util": "30.0.2", - "jest-worker": "30.0.2", - "slash": "^3.0.0", - "string-length": "^4.0.2", - "v8-to-istanbul": "^9.0.1" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { - "node-notifier": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { "optional": true } } }, - "packages/millicast-sdk/node_modules/@jest/schemas": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.1.tgz", - "integrity": "sha512-+g/1TKjFuGrf1Hh0QPCv0gISwBxJ+MQSNXmG9zjHy7BmFhtoJ9fdNhWJp3qUKRi93AOZHXtdxZgJ1vAtz6z65w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.34.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "packages/millicast-sdk/node_modules/@jest/source-map": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", - "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "callsites": "^3.1.0", - "graceful-fs": "^4.2.11" + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "packages/millicast-sdk/node_modules/@jest/test-result": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.0.4.tgz", - "integrity": "sha512-Mfpv8kjyKTHqsuu9YugB6z1gcdB3TSSOaKlehtVaiNlClMkEHY+5ZqCY2CrEE3ntpBMlstX/ShDAf84HKWsyIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.0.4", - "@jest/types": "30.0.1", - "@types/istanbul-lib-coverage": "^2.0.6", - "collect-v8-coverage": "^1.0.2" + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "packages/millicast-sdk/node_modules/@jest/test-sequencer": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.0.4.tgz", - "integrity": "sha512-bj6ePmqi4uxAE8EHE0Slmk5uBYd9Vd/PcVt06CsBxzH4bbA8nGsI1YbXl/NH+eii4XRtyrRx+Cikub0x8H4vDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.0.4", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.0.2", - "slash": "^3.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "packages/millicast-sdk/node_modules/@jest/transform": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.0.4.tgz", - "integrity": "sha512-atvy4hRph/UxdCIBp+UB2jhEA/jJiUeGZ7QPgBi9jUUKNgi3WEoMXGNG7zbbELG2+88PMabUNCDchmqgJy3ELg==", + "node_modules/vite-plugin-dts": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz", + "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.27.4", - "@jest/types": "30.0.1", - "@jridgewell/trace-mapping": "^0.3.25", - "babel-plugin-istanbul": "^7.0.0", - "chalk": "^4.1.2", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.0.2", - "jest-regex-util": "30.0.1", - "jest-util": "30.0.2", - "micromatch": "^4.0.8", - "pirates": "^4.0.7", - "slash": "^3.0.0", - "write-file-atomic": "^5.0.1" + "@microsoft/api-extractor": "^7.50.1", + "@rollup/pluginutils": "^5.1.4", + "@volar/typescript": "^2.4.11", + "@vue/language-core": "2.2.0", + "compare-versions": "^6.1.1", + "debug": "^4.4.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "peerDependencies": { + "typescript": "*", + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } } }, - "packages/millicast-sdk/node_modules/@jest/types": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.1.tgz", - "integrity": "sha512-HGwoYRVF0QSKJu1ZQX0o5ZrUrrhj0aOOFA8hXrumD7SIzjouevhawbTjmXdwOmURdGluU9DM/XvGm3NyFoiQjw==", + "node_modules/vite-plugin-dts/node_modules/@rollup/pluginutils": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.1", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "packages/millicast-sdk/node_modules/@sinclair/typebox": { - "version": "0.34.38", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", - "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", + "node_modules/vite-plugin-dts/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, - "packages/millicast-sdk/node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "node_modules/vite-plugin-dts/node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } + "license": "MIT" }, - "packages/millicast-sdk/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/vite-plugin-dts/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "packages/millicast-sdk/node_modules/babel-jest": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.4.tgz", - "integrity": "sha512-UjG2j7sAOqsp2Xua1mS/e+ekddkSu3wpf4nZUSvXNHuVWdaOUXQ77+uyjJLDE9i0atm5x4kds8K9yb5lRsRtcA==", + "node_modules/vite/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite/node_modules/rollup": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", + "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.0.4", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.0", - "babel-preset-jest": "30.0.1", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, - "peerDependencies": { - "@babel/core": "^7.11.0" + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.45.1", + "@rollup/rollup-android-arm64": "4.45.1", + "@rollup/rollup-darwin-arm64": "4.45.1", + "@rollup/rollup-darwin-x64": "4.45.1", + "@rollup/rollup-freebsd-arm64": "4.45.1", + "@rollup/rollup-freebsd-x64": "4.45.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", + "@rollup/rollup-linux-arm-musleabihf": "4.45.1", + "@rollup/rollup-linux-arm64-gnu": "4.45.1", + "@rollup/rollup-linux-arm64-musl": "4.45.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-musl": "4.45.1", + "@rollup/rollup-linux-s390x-gnu": "4.45.1", + "@rollup/rollup-linux-x64-gnu": "4.45.1", + "@rollup/rollup-linux-x64-musl": "4.45.1", + "@rollup/rollup-win32-arm64-msvc": "4.45.1", + "@rollup/rollup-win32-ia32-msvc": "4.45.1", + "@rollup/rollup-win32-x64-msvc": "4.45.1", + "fsevents": "~2.3.2" } }, - "packages/millicast-sdk/node_modules/babel-plugin-istanbul": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", - "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==", + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" }, "engines": { - "node": ">=12" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "packages/millicast-sdk/node_modules/babel-plugin-jest-hoist": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz", - "integrity": "sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ==", + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.3", - "@types/babel__core": "^7.20.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "packages/millicast-sdk/node_modules/babel-plugin-macros": { + "node_modules/vscode-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">=18" } }, - "packages/millicast-sdk/node_modules/babel-preset-jest": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz", - "integrity": "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw==", + "node_modules/wait-on": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.3.tgz", + "integrity": "sha512-nQFqAFzZDeRxsu7S3C7LbuxslHhk+gnJZHyethuGKAn2IVleIbTB9I3vJSQiSR+DifUqmdzfPMoMPJfLqMF2vw==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.0.1", - "babel-preset-current-node-syntax": "^1.1.0" + "axios": "^1.8.2", + "joi": "^17.13.3", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "bin": { + "wait-on": "bin/wait-on" }, - "peerDependencies": { - "@babel/core": "^7.11.0" + "engines": { + "node": ">=12.0.0" } }, - "packages/millicast-sdk/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0" + "makeerror": "1.0.12" } }, - "packages/millicast-sdk/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "defaults": "^1.0.3" } }, - "packages/millicast-sdk/node_modules/ci-info": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", - "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=12" } }, - "packages/millicast-sdk/node_modules/cjs-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz", - "integrity": "sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==", - "dev": true, - "license": "MIT" - }, - "packages/millicast-sdk/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "packages/millicast-sdk/node_modules/dedent": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", - "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } + "engines": { + "node": ">=18" } }, - "packages/millicast-sdk/node_modules/expect": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.0.4.tgz", - "integrity": "sha512-dDLGjnP2cKbEppxVICxI/Uf4YemmGMPNy0QytCbfafbpYk9AFQsxb8Uyrxii0RPK7FWgLGlSem+07WirwS3cFQ==", + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.0.4", - "@jest/get-type": "30.0.1", - "jest-matcher-utils": "30.0.4", - "jest-message-util": "30.0.2", - "jest-mock": "30.0.2", - "jest-util": "30.0.2" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" } }, - "packages/millicast-sdk/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "isexe": "^2.0.0" }, "bin": { - "glob": "dist/esm/bin.mjs" + "node-which": "bin/node-which" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 8" } }, - "packages/millicast-sdk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/millicast-sdk/node_modules/istanbul-lib-source-maps": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", - "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/millicast-sdk/node_modules/jest": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.0.4.tgz", - "integrity": "sha512-9QE0RS4WwTj/TtTC4h/eFVmFAhGNVerSB9XpJh8sqaXlP73ILcPcZ7JWjjEtJJe2m8QyBLKKfPQuK+3F+Xij/g==", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.0.4", - "@jest/types": "30.0.1", - "import-local": "^3.2.0", - "jest-cli": "30.0.4" - }, - "bin": { - "jest": "bin/jest.js" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/millicast-sdk/node_modules/jest-changed-files": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.0.2.tgz", - "integrity": "sha512-Ius/iRST9FKfJI+I+kpiDh8JuUlAISnRszF9ixZDIqJF17FckH5sOzKC8a0wd0+D+8em5ADRHA5V5MnfeDk2WA==", + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, "license": "MIT", - "dependencies": { - "execa": "^5.1.1", - "jest-util": "30.0.2", - "p-limit": "^3.1.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=4" } }, - "packages/millicast-sdk/node_modules/jest-circus": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.0.4.tgz", - "integrity": "sha512-o6UNVfbXbmzjYgmVPtSQrr5xFZCtkDZGdTlptYvGFSN80RuOOlTe73djvMrs+QAuSERZWcHBNIOMH+OEqvjWuw==", + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.0.4", - "@jest/expect": "30.0.4", - "@jest/test-result": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "chalk": "^4.1.2", - "co": "^4.6.0", - "dedent": "^1.6.0", - "is-generator-fn": "^2.1.0", - "jest-each": "30.0.2", - "jest-matcher-utils": "30.0.4", - "jest-message-util": "30.0.2", - "jest-runtime": "30.0.4", - "jest-snapshot": "30.0.4", - "jest-util": "30.0.2", - "p-limit": "^3.1.0", - "pretty-format": "30.0.2", - "pure-rand": "^7.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/millicast-sdk/node_modules/jest-cli": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.0.4.tgz", - "integrity": "sha512-3dOrP3zqCWBkjoVG1zjYJpD9143N9GUCbwaF2pFF5brnIgRLHmKcCIw+83BvF1LxggfMWBA0gxkn6RuQVuRhIQ==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.0.4", - "@jest/test-result": "30.0.4", - "@jest/types": "30.0.1", - "chalk": "^4.1.2", - "exit-x": "^0.2.2", - "import-local": "^3.2.0", - "jest-config": "30.0.4", - "jest-util": "30.0.2", - "jest-validate": "30.0.2", - "yargs": "^17.7.2" + "siginfo": "^2.0.0", + "stackback": "0.0.2" }, "bin": { - "jest": "bin/jest.js" + "why-is-node-running": "cli.js" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=8" } }, - "packages/millicast-sdk/node_modules/jest-config": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.0.4.tgz", - "integrity": "sha512-3dzbO6sh34thAGEjJIW0fgT0GA0EVlkski6ZzMcbW6dzhenylXAE/Mj2MI4HonroWbkKc6wU6bLVQ8dvBSZ9lA==", + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.27.4", - "@jest/get-type": "30.0.1", - "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.0.4", - "@jest/types": "30.0.1", - "babel-jest": "30.0.4", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "deepmerge": "^4.3.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "jest-circus": "30.0.4", - "jest-docblock": "30.0.1", - "jest-environment-node": "30.0.4", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.0.2", - "jest-runner": "30.0.4", - "jest-util": "30.0.2", - "jest-validate": "30.0.2", - "micromatch": "^4.0.8", - "parse-json": "^5.2.0", - "pretty-format": "30.0.2", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "string-width": "^5.0.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "esbuild-register": ">=3.4.0", - "ts-node": ">=9.0.0" + "node": ">=12" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "esbuild-register": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/millicast-sdk/node_modules/jest-diff": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.4.tgz", - "integrity": "sha512-TSjceIf6797jyd+R64NXqicttROD+Qf98fex7CowmlSn7f8+En0da1Dglwr1AXxDtVizoxXYZBlUQwNhoOXkNw==", + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/diff-sequences": "30.0.1", - "@jest/get-type": "30.0.1", - "chalk": "^4.1.2", - "pretty-format": "30.0.2" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "packages/millicast-sdk/node_modules/jest-docblock": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.0.1.tgz", - "integrity": "sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA==", + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { - "detect-newline": "^3.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/millicast-sdk/node_modules/jest-each": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.0.2.tgz", - "integrity": "sha512-ZFRsTpe5FUWFQ9cWTMguCaiA6kkW5whccPy9JjD1ezxh+mJeqmz8naL8Fl/oSbNJv3rgB0x87WBIkA5CObIUZQ==", + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/get-type": "30.0.1", - "@jest/types": "30.0.1", - "chalk": "^4.1.2", - "jest-util": "30.0.2", - "pretty-format": "30.0.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "packages/millicast-sdk/node_modules/jest-environment-node": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.4.tgz", - "integrity": "sha512-p+rLEzC2eThXqiNh9GHHTC0OW5Ca4ZfcURp7scPjYBcmgpR9HG6750716GuUipYf2AcThU3k20B31USuiaaIEg==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "30.0.4", - "@jest/fake-timers": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "jest-mock": "30.0.2", - "jest-util": "30.0.2", - "jest-validate": "30.0.2" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=0.10.0" } }, - "packages/millicast-sdk/node_modules/jest-haste-map": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.0.2.tgz", - "integrity": "sha512-telJBKpNLeCb4MaX+I5k496556Y2FiKR/QLZc0+MGBYl4k3OO0472drlV2LUe7c1Glng5HuAu+5GLYp//GpdOQ==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", - "@types/node": "*", - "anymatch": "^3.1.3", - "fb-watchman": "^2.0.2", - "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.0.2", - "jest-worker": "30.0.2", - "micromatch": "^4.0.8", - "walker": "^1.0.8" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "^2.3.3" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/millicast-sdk/node_modules/jest-leak-detector": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.0.2.tgz", - "integrity": "sha512-U66sRrAYdALq+2qtKffBLDWsQ/XoNNs2Lcr83sc9lvE/hEpNafJlq2lXCPUBMNqamMECNxSIekLfe69qg4KMIQ==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/get-type": "30.0.1", - "pretty-format": "30.0.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/millicast-sdk/node_modules/jest-matcher-utils": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.4.tgz", - "integrity": "sha512-ubCewJ54YzeAZ2JeHHGVoU+eDIpQFsfPQs0xURPWoNiO42LGJ+QGgfSf+hFIRplkZDkhH5MOvuxHKXRTUU3dUQ==", + "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, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/get-type": "30.0.1", - "chalk": "^4.1.2", - "jest-diff": "30.0.4", - "pretty-format": "30.0.2" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/millicast-sdk/node_modules/jest-message-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.2.tgz", - "integrity": "sha512-vXywcxmr0SsKXF/bAD7t7nMamRvPuJkras00gqYeB1V0WllxZrbZ0paRr3XqpFU2sYYjD0qAaG2fRyn/CGZ0aw==", + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.0.1", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.0.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, + "license": "ISC", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/millicast-sdk/node_modules/jest-mock": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.2.tgz", - "integrity": "sha512-PnZOHmqup/9cT/y+pXIVbbi8ID6U1XHRmbvR7MvUy4SLqhCbwpkmXhLbsWbGewHrV5x/1bF7YDjs+x24/QSvFA==", + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "30.0.1", - "@types/node": "*", - "jest-util": "30.0.2" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" } }, - "packages/millicast-sdk/node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "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, - "license": "MIT", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10" } }, - "packages/millicast-sdk/node_modules/jest-resolve": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.0.2.tgz", - "integrity": "sha512-q/XT0XQvRemykZsvRopbG6FQUT6/ra+XV6rPijyjT6D0msOyCvR2A5PlWZLd+fH0U8XWKZfDiAgrUNDNX2BkCw==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.0.2", - "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.0.2", - "jest-validate": "30.0.2", - "slash": "^3.0.0", - "unrs-resolver": "^1.7.11" + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 14.6" } }, - "packages/millicast-sdk/node_modules/jest-resolve-dependencies": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.4.tgz", - "integrity": "sha512-EQBYow19B/hKr4gUTn+l8Z+YLlP2X0IoPyp0UydOtrcPbIOYzJ8LKdFd+yrbwztPQvmlBFUwGPPEzHH1bAvFAw==", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.0.4" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" } }, - "packages/millicast-sdk/node_modules/jest-runner": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.0.4.tgz", - "integrity": "sha512-mxY0vTAEsowJwvFJo5pVivbCpuu6dgdXRmt3v3MXjBxFly7/lTk3Td0PaMyGOeNQUFmSuGEsGYqhbn7PA9OekQ==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.0.4", - "@jest/environment": "30.0.4", - "@jest/test-result": "30.0.4", - "@jest/transform": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-docblock": "30.0.1", - "jest-environment-node": "30.0.4", - "jest-haste-map": "30.0.2", - "jest-leak-detector": "30.0.2", - "jest-message-util": "30.0.2", - "jest-resolve": "30.0.2", - "jest-runtime": "30.0.4", - "jest-util": "30.0.2", - "jest-watcher": "30.0.4", - "jest-worker": "30.0.2", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=6" } }, - "packages/millicast-sdk/node_modules/jest-runtime": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.0.4.tgz", - "integrity": "sha512-tUQrZ8+IzoZYIHoPDQEB4jZoPyzBjLjq7sk0KVyd5UPRjRDOsN7o6UlvaGF8ddpGsjznl9PW+KRgWqCNO+Hn7w==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "30.0.4", - "@jest/fake-timers": "30.0.4", - "@jest/globals": "30.0.4", - "@jest/source-map": "30.0.1", - "@jest/test-result": "30.0.4", - "@jest/transform": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "chalk": "^4.1.2", - "cjs-module-lexer": "^2.1.0", - "collect-v8-coverage": "^1.0.2", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.0.2", - "jest-message-util": "30.0.2", - "jest-mock": "30.0.2", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.0.2", - "jest-snapshot": "30.0.4", - "jest-util": "30.0.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/millicast-sdk/node_modules/jest-snapshot": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.0.4.tgz", - "integrity": "sha512-S/8hmSkeUib8WRUq9pWEb5zMfsOjiYWDWzFzKnjX7eDyKKgimsu9hcmsUEg8a7dPAw8s/FacxsXquq71pDgPjQ==", + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "packages/millicast-chromecast-receiver": {}, + "packages/millicast-multiview-demo": {}, + "packages/millicast-publisher-demo": {}, + "packages/millicast-sdk": { + "name": "@millicast/sdk", + "version": "1.0.0", + "license": "See in LICENSE file", "dependencies": { - "@babel/core": "^7.27.4", - "@babel/generator": "^7.27.5", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1", - "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.0.4", - "@jest/get-type": "30.0.1", - "@jest/snapshot-utils": "30.0.4", - "@jest/transform": "30.0.4", - "@jest/types": "30.0.1", - "babel-preset-current-node-syntax": "^1.1.0", - "chalk": "^4.1.2", - "expect": "30.0.4", - "graceful-fs": "^4.2.11", - "jest-diff": "30.0.4", - "jest-matcher-utils": "30.0.4", - "jest-message-util": "30.0.2", - "jest-util": "30.0.2", - "pretty-format": "30.0.2", - "semver": "^7.7.2", - "synckit": "^0.11.8" + "@dolbyio/webrtc-stats": "^1.0.4", + "buffer": "^6.0.3", + "events": "^3.3.0", + "js-base64": "^3.7.7", + "js-logger": "^1.6.1", + "jwt-decode": "^3.1.2", + "re-emitter": "^1.1.4", + "semantic-sdp": "^3.22.0", + "transaction-manager": "^2.1.3", + "tslib": "^2.7.0", + "ua-parser-js": "^1.0.38" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "devDependencies": { + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.31.0", + "@nx/eslint": "^21.3.2", + "@nx/eslint-plugin": "^21.3.2", + "@types/ua-parser-js": "^0.7.39", + "@typescript-eslint/eslint-plugin": "^8.37.0", + "@typescript-eslint/parser": "^8.37.0", + "jest": "^30.0.4", + "jest-cucumber": "^4.5.0", + "jest-environment-jsdom": "^30.0.4", + "jest-environment-node": "^30.0.4", + "jest-puppeteer": "^11.0.0", + "jest-websocket-mock": "^2.5.0", + "lint-staged": "^10.5.4", + "mock-socket": "^9.0.3", + "npm-watch": "^0.13.0", + "typescript-eslint": "^8.37.0" } }, - "packages/millicast-sdk/node_modules/jest-util": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.2.tgz", - "integrity": "sha512-8IyqfKS4MqprBuUpZNlFB5l+WFehc8bfCe1HSZFHzft2mOuND8Cvi9r1musli+u6F3TqanCZ/Ik4H4pXUolZIg==", + "packages/millicast-sdk/node_modules/@jest/environment": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.0.5.tgz", + "integrity": "sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.0.1", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" + "jest-mock": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/jest-validate": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.0.2.tgz", - "integrity": "sha512-noOvul+SFER4RIvNAwGn6nmV2fXqBq67j+hKGHKGFCmK4ks/Iy1FSrqQNBLGKlu4ZZIRL6Kg1U72N1nxuRCrGQ==", + "packages/millicast-sdk/node_modules/@jest/fake-timers": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.0.5.tgz", + "integrity": "sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/get-type": "30.0.1", - "@jest/types": "30.0.1", - "camelcase": "^6.3.0", - "chalk": "^4.1.2", - "leven": "^3.1.0", - "pretty-format": "30.0.2" + "@jest/types": "30.0.5", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.0.5", + "jest-mock": "30.0.5", + "jest-util": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/jest-watcher": { - "version": "30.0.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.0.4.tgz", - "integrity": "sha512-YESbdHDs7aQOCSSKffG8jXqOKFqw4q4YqR+wHYpR5GWEQioGvL0BfbcjvKIvPEM0XGfsfJrka7jJz3Cc3gI4VQ==", + "packages/millicast-sdk/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "30.0.4", - "@jest/types": "30.0.1", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.0.2", - "string-length": "^4.0.2" + "@sinclair/typebox": "^0.34.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/jest-worker": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.0.2.tgz", - "integrity": "sha512-RN1eQmx7qSLFA+o9pfJKlqViwL5wt+OL3Vff/A+/cPsmuw7NPwfgl33AP+/agRmHzPOFgXviRycR9kYwlcRQXg==", + "packages/millicast-sdk/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", "dev": true, "license": "MIT", "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.0.2", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "packages/millicast-sdk/node_modules/@sinclair/typebox": { + "version": "0.34.38", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", + "integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "packages/millicast-sdk/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@sinonjs/commons": "^3.0.1" } }, - "packages/millicast-sdk/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "packages/millicast-sdk/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/millicast-sdk/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "packages/millicast-sdk/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=8" } }, - "packages/millicast-sdk/node_modules/pretty-format": { - "version": "30.0.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.2.tgz", - "integrity": "sha512-yC5/EBSOrTtqhCKfLHqoUIAXVRZnukHPwWBJWR7h84Q3Be1DRQZLncwcfLoPA5RPQ65qfiCMqgYwdUuQ//eVpg==", + "packages/millicast-sdk/node_modules/jest-environment-node": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.0.5.tgz", + "integrity": "sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.1", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "@jest/environment": "30.0.5", + "@jest/fake-timers": "30.0.5", + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-mock": "30.0.5", + "jest-util": "30.0.5", + "jest-validate": "30.0.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/pure-rand": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", - "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "packages/millicast-sdk/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "packages/millicast-sdk/node_modules/jest-message-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz", + "integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.0.5", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.0.5", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": ">=10" - } - }, - "packages/millicast-sdk/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "packages/millicast-sdk/node_modules/jest-mock": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz", + "integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==", "dev": true, "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "jest-util": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "packages/millicast-sdk/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "packages/millicast-sdk/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "packages/millicast-sdk/node_modules/jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", + "license": "MIT" + }, + "packages/millicast-sdk/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "packages/millicast-sdk/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": ">= 6" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "packages/millicast-viewer-demo": {}, diff --git a/package.json b/package.json index ff0e428f..5648bf41 100644 --- a/package.json +++ b/package.json @@ -34,26 +34,18 @@ "@babel/preset-env": "^7.23.6", "@babel/runtime": "^7.13.10", "@maslick/radiaslider": "^1.9.8", - "@nx/jest": "19.5.3", - "@nx/js": "19.5.3", - "@nx/vite": "21.2.2", - "@nx/web": "19.5.3", - "@nx/workspace": "19.5.3", + "@nx/jest": "^21.3.2", + "@nx/js": "^21.3.2", + "@nx/vite": "^21.3.2", + "@nx/web": "^21.3.2", + "@nx/workspace": "^21.3.2", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.2.0", - "@swc-node/register": "~1.9.1", - "@swc/core": "~1.5.7", - "@swc/helpers": "~0.5.11", - "@swc/jest": "~0.2.36", - "@types/jest": "^29.4.0", "@types/node": "^24.0.12", - "@types/ua-parser-js": "^0.7.39", "@vitest/ui": "^3.2.4", "babel-jest": "^29.7.0", - "clean-jsdoc-theme": "^4.2.17", - "concurrently": "^8.2.2", "core-js": "^3.20.1", "dotenv": "^17.2.0", "eslint": "^9.31.0", @@ -61,22 +53,18 @@ "eslint-plugin-jest": "^29.0.1", "eslint-plugin-n": "^17.21.0", "husky": "^4.3.8", - "install": "^0.13.0", - "jsdom": "~22.1.0", - "mock-socket": "^9.0.3", - "netlify-cli": "^22.2.2", + "jsdom": "~26.1.0", + "netlify-cli": "^22.3.0", "npm": "^11.4.2", - "nx": "21.2.2", + "nx": "^21.3.2", "prettier": "^3.6.2", "puppeteer": "^24.12.1", - "serve": "^14.2.1", - "swc-loader": "0.1.15", + "serve": "^14.2.4", "ts-jest": "^29.1.0", - "ts-node": "10.9.1", + "ts-node": "10.9.2", "typedoc": "^0.28.5", "typedoc-plugin-mdn-links": "^5.0.2", "typescript": "^5.8.3", - "underscore": "^1.13.1", "vite": "^6.0.0", "vite-plugin-dts": "^4.5.4", "vitest": "^3.0.0" diff --git a/packages/millicast-sdk/package.json b/packages/millicast-sdk/package.json index caed19a2..033c4d89 100644 --- a/packages/millicast-sdk/package.json +++ b/packages/millicast-sdk/package.json @@ -77,8 +77,9 @@ "devDependencies": { "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.31.0", - "@nx/eslint": "21.2.3", - "@nx/eslint-plugin": "21.2.3", + "@nx/eslint": "^21.3.2", + "@nx/eslint-plugin": "^21.3.2", + "@types/ua-parser-js": "^0.7.39", "@typescript-eslint/eslint-plugin": "^8.37.0", "@typescript-eslint/parser": "^8.37.0", "jest": "^30.0.4", @@ -88,6 +89,7 @@ "jest-puppeteer": "^11.0.0", "jest-websocket-mock": "^2.5.0", "lint-staged": "^10.5.4", + "mock-socket": "^9.0.3", "npm-watch": "^0.13.0", "typescript-eslint": "^8.37.0" } diff --git a/packages/millicast-sdk/src/Publisher.ts b/packages/millicast-sdk/src/Publisher.ts index bee75f42..aa669942 100644 --- a/packages/millicast-sdk/src/Publisher.ts +++ b/packages/millicast-sdk/src/Publisher.ts @@ -1,4 +1,4 @@ -import jwtDecode from 'jwt-decode'; +import jwtDecode from "jwt-decode"; import reemit from 're-emitter'; import { atob } from 'js-base64'; import Logger from './Logger'; @@ -99,7 +99,7 @@ export class Publisher extends BaseWebRTC} Promise object which resolves when the broadcast started successfully. * * @example @@ -136,7 +136,10 @@ export class Publisher extends BaseWebRTC(publisherData.jwt); this.streamName = decodedJWT['millicast'].streamName; this.#recordingAvailable = decodedJWT[atob('bWlsbGljYXN0')].record; if (this.connectOptions.record && !this.#recordingAvailable) { @@ -260,7 +263,9 @@ export class Publisher extends BaseWebRTC 0) { + if ( + !this.connectOptions.disableVideo && + this.connectOptions.bandwidth && + this.connectOptions.bandwidth > 0 + ) { remoteSdp = webRTCPeerInstance.updateBandwidthRestriction(remoteSdp, this.connectOptions.bandwidth); } diff --git a/packages/millicast-sdk/src/Viewer.ts b/packages/millicast-sdk/src/Viewer.ts index 7a44142d..9e2ecca4 100644 --- a/packages/millicast-sdk/src/Viewer.ts +++ b/packages/millicast-sdk/src/Viewer.ts @@ -331,7 +331,7 @@ export class Viewer extends BaseWebRTC { throw new Error('Subscriber data required'); } - const decodedJWT = jwtDecode(subscriberData.jwt) as DecodedJWT; + const decodedJWT = jwtDecode(subscriberData.jwt); this.streamName = decodedJWT['millicast'].streamName; const signalingInstance = new Signaling({ streamName: this.streamName, diff --git a/packages/millicast-sdk/src/utils/BaseWebRTC.ts b/packages/millicast-sdk/src/utils/BaseWebRTC.ts index 712a679b..640414d8 100644 --- a/packages/millicast-sdk/src/utils/BaseWebRTC.ts +++ b/packages/millicast-sdk/src/utils/BaseWebRTC.ts @@ -23,7 +23,10 @@ export type ConnectOptions = PublishConnectOptions | ViewerConnectOptions; /** * Base class for common actions about peer connection and reconnect mechanism for Publisher and Viewer instances. */ -export class BaseWebRTC extends TypedEventEmitter { +export class BaseWebRTC< + TEvents extends BaseWebRTCEvents, + TConnectOptions extends ConnectOptions, +> extends TypedEventEmitter { protected webRTCPeer: PeerConnection; protected signaling: Signaling | null; protected autoReconnect: boolean;