diff --git a/.eslintrc b/.eslintrc index aca4b375f..47a406655 100644 --- a/.eslintrc +++ b/.eslintrc @@ -11,9 +11,7 @@ "parserOptions": { "ecmaVersion": 2020, "babelOptions": { - "plugins": [ - ["@babel/plugin-syntax-import-attributes", { "deprecatedAssertSyntax": true }] - ] + "plugins": [["@babel/plugin-syntax-import-attributes", { "deprecatedAssertSyntax": true }]] } }, "plugins": ["flowtype", "import", "prettier", "jest"], @@ -30,11 +28,18 @@ "node/no-unsupported-features/es-syntax": "off", "prettier/prettier": "error", "import/no-cycle": "error", + "import/no-named-as-default": "off", "import/no-unresolved": [ - "warn", + "error", { - "ignore": ["web3"] + "ignore": ["^@goodwidget/core/viemFallbackClient$"] + } + ], + "node/no-missing-import": [ + "error", + { + "allowModules": ["@goodwidget/core"] } ] } -} \ No newline at end of file +} diff --git a/README.md b/README.md index 6acfa1f3a..78d39ac31 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,23 @@ We use [![Build Status](https://travis-ci.com/GoodDollar/GoodServer.svg?branch=master)](https://travis-ci.com/GoodDollar/GoodServer) [![Coverage Status](https://coveralls.io/repos/github/GoodDollar/GoodServer/badge.svg?branch=master)](https://coveralls.io/github/GoodDollar/GoodServer?branch=master) -Setup --- +## Setup + - copy env.example to .env - choose network kovan/truffle (see below how to setup local truffle node) - fill the mnemonic that was used to deploy contracts -Local Node --- +## Blockchain Clients + +- Admin wallets use viem clients from `@goodwidget/core/viemFallbackClient`. +- Configured comma-separated HTTP RPCs are tried first, followed by Chainlist RPCs. RPC discovery is cached in memory; background endpoint ranking is disabled. +- Local HTTP nodes and configured WebSocket connections use explicit viem transports. +- Use `wallet.publicClient` for RPC reads, `contract.read.method([args])` for contract reads, and `wallet.contractTransaction(contract, 'method', [args])` with `wallet.sendTransaction(...)` for queued writes. KMS signing remains supported. +- Wallet transaction receipts retain boolean `status` and numeric `blockNumber`; direct viem results use bigint quantities and `success`/`reverted` statuses. +- Run isolated wallet tests with `npx jest src/server/blockchain/__tests__/viemWallet.test.js --runInBand --config '{"testEnvironment":"node","transform":{"^.+\\.js$":"babel-jest"}}'`. + +## Local Node + - clone @gooddollar/goodcontracts - run `truffle develop` - in console type `migrate --reset` diff --git a/package-lock.json b/package-lock.json index c037b2470..064096be7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "@gooddollar/goodcontracts": "^2.6.1", "@gooddollar/goodprotocol": "^2.3.4", "@gooddollar/kms-ethereum-signing": "^1.0.4", + "@goodwidget/core": "^0.1.5", "@openzeppelin/defender-autotask-client": "^1.50.0", "@openzeppelin/defender-relay-client": "^1.49.0", "@sentry/integrations": "^5.30.0", @@ -73,6 +74,7 @@ "triple-beam": "^1.3.0", "twilio": "^3.77.1", "uuid": "^8.3.2", + "viem": "^2.0.0", "web3": "^1.10.0", "webpack-cli": "^5.1.1", "websocket": "^1.0.32", @@ -221,18 +223,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", "license": "Apache-2.0", @@ -3427,40 +3417,44 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.9", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -3477,7 +3471,6 @@ }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", - "devOptional": true, "license": "MIT" }, "node_modules/@babel/eslint-parser": { @@ -3498,38 +3491,29 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "devOptional": true, + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz", + "integrity": "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3537,7 +3521,7 @@ }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.22.15", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.22.15" @@ -3547,13 +3531,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -3562,18 +3547,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.10", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz", + "integrity": "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/traverse": "^7.29.7", "semver": "^6.3.1" }, "engines": { @@ -3584,12 +3569,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", + "version": "7.29.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.10.tgz", + "integrity": "sha512-/YY9soQuWa8TURtHXHT+GbklpbAA+dZErxFGHIr6qgDg96xuGWrTAs1+MfjgVJPF0YLQsOVsOYs8lhgsPbOinQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.29.7", + "regexpu-core": "^6.5.3", "semver": "^6.3.1" }, "engines": { @@ -3601,7 +3588,7 @@ }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.5.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -3616,7 +3603,7 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -3624,7 +3611,7 @@ }, "node_modules/@babel/helper-function-name": { "version": "7.23.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", @@ -3634,9 +3621,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" @@ -3646,37 +3642,41 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz", + "integrity": "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3686,18 +3686,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz", + "integrity": "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "devOptional": true, "license": "MIT", "engines": { @@ -3705,13 +3709,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz", + "integrity": "sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-wrap-function": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3721,13 +3727,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz", + "integrity": "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3736,97 +3744,70 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz", + "integrity": "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "devOptional": true, + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.11.tgz", + "integrity": "sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz", + "integrity": "sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.9", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "devOptional": true, + "version": "7.29.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.10.tgz", + "integrity": "sha512-EMCx3AGZ3WfAl6ht7AyQoPm2Lh+BGYEMdc4Q6Hf7uSCDOZFuLq44qNwL+iaim8VlyYhRAo4X43+weadK8ZB4Yg==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8" }, "engines": { "node": ">=6.9.0" @@ -3860,9 +3841,13 @@ "license": "MIT" }, "node_modules/@babel/parser": { - "version": "7.23.9", - "devOptional": true, + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.11.tgz", + "integrity": "sha512-OZ6+oaK7GMyg3IfCpj8JOmn8n+w2rJbDT0LLfVDTLb1ZFeKDh3AiNELgCMUw175IJHSkLl74hG0M0VLsvx+gag==", "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.11" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -3872,7 +3857,7 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -3886,7 +3871,7 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -3902,7 +3887,7 @@ }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.23.7", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -3915,27 +3900,9 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", @@ -3949,14 +3916,16 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.23.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.7.tgz", + "integrity": "sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.23.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.23.3" + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-decorators": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3966,13 +3935,14 @@ } }, "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.29.7.tgz", + "integrity": "sha512-p+G5BNXDcy3bOXplhY4HybQ1GxH3i2Tppmdm/3epyRu2VgJJZuUlZ61MqRTg582Q7ZLBdP7fePYvsumSEkMxcQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -3996,93 +3966,9 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -4093,7 +3979,7 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4115,7 +4001,7 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" @@ -4126,7 +4012,7 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4139,12 +4025,14 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.29.7.tgz", + "integrity": "sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4165,12 +4053,14 @@ } }, "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.29.7.tgz", + "integrity": "sha512-foag0BB37ROhdeIX9O8G0jX7hw0UekJc04cHMrYLOnrErsnBKqJGHJ8eDRpoCFZBvEPPygmmtw4qyU97qa4oOw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4191,11 +4081,13 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.29.7.tgz", + "integrity": "sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4206,7 +4098,7 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4220,7 +4112,7 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4234,7 +4126,7 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -4245,7 +4137,7 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4255,11 +4147,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4270,7 +4164,7 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -4292,7 +4186,7 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -4303,7 +4197,7 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4314,7 +4208,7 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4336,7 +4230,7 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4350,7 +4244,7 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4363,11 +4257,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4378,7 +4274,7 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -4393,7 +4289,7 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4406,14 +4302,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz", + "integrity": "sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-remap-async-to-generator": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4423,13 +4320,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz", + "integrity": "sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-remap-async-to-generator": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4440,7 +4339,7 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4453,11 +4352,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.11.tgz", + "integrity": "sha512-iARF4jjHSM0v8DImCACPXrwEltBP3DgqDpXTvjAMBAVpyEY0LiGss78wvI+KtmW+IJNEvZ5sOhPDCsOsXsIybA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4467,12 +4368,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz", + "integrity": "sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4482,13 +4385,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz", + "integrity": "sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4498,18 +4402,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.11.tgz", + "integrity": "sha512-f8kTDM/nTvpLeafb+TJ4jboFr/Y3BbC+QzgPpPGzSKJqWLnj9LW0WLqv4XKA11LX5sr+EgvLE6Ix3YsCEusodw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7", + "@babel/traverse": "^7.29.10" }, "engines": { "node": ">=6.9.0" @@ -4520,7 +4424,7 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -4534,11 +4438,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz", + "integrity": "sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4549,7 +4456,7 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", @@ -4564,7 +4471,7 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4578,7 +4485,7 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.23.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -4593,7 +4500,7 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", @@ -4607,12 +4514,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz", + "integrity": "sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4622,12 +4530,14 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.29.7.tgz", + "integrity": "sha512-wRHeUjUjCZnMHmiO5bRgjFLcoEh7JyTdByOW11ahhwNa4V0bmeGEaIvt51yq0zQp2yWIpqfxXXPyUP6GFJZHOQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-flow": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4637,12 +4547,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz", + "integrity": "sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4653,7 +4565,7 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.15", @@ -4669,7 +4581,7 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.23.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -4684,7 +4596,7 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4697,12 +4609,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz", + "integrity": "sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4713,7 +4626,7 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4727,7 +4640,7 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.23.3", @@ -4741,13 +4654,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz", + "integrity": "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4758,7 +4672,7 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.23.9", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", @@ -4775,7 +4689,7 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.23.3", @@ -4789,12 +4703,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz", + "integrity": "sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4805,7 +4721,7 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4818,12 +4734,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz", + "integrity": "sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4834,7 +4751,7 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.23.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -4848,15 +4765,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz", + "integrity": "sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-transform-destructuring": "^7.29.7", + "@babel/plugin-transform-parameters": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4867,7 +4786,7 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -4881,12 +4800,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz", + "integrity": "sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4896,13 +4816,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz", + "integrity": "sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4912,11 +4833,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz", + "integrity": "sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4926,12 +4849,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz", + "integrity": "sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4941,14 +4866,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz", + "integrity": "sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4959,7 +4885,7 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -4972,11 +4898,13 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.29.7.tgz", + "integrity": "sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -4986,15 +4914,17 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz", + "integrity": "sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-jsx": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5004,11 +4934,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.29.7.tgz", + "integrity": "sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5017,13 +4949,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.29.7.tgz", + "integrity": "sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==", + "devOptional": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5032,13 +4966,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { + "node_modules/@babel/plugin-transform-regenerator": { "version": "7.23.3", + "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -5047,12 +4981,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -5062,13 +4995,20 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "devOptional": true, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.7.tgz", + "integrity": "sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "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": { "node": ">=6.9.0" @@ -5077,43 +5017,83 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "devOptional": true, + "node_modules/@babel/plugin-transform-runtime/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/plugin-transform-runtime/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==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", + "node_modules/@babel/plugin-transform-runtime/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" + "@babel/helper-define-polyfill-provider": "^0.6.8" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "^2.1.3" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/@babel/plugin-transform-runtime/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==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -5127,7 +5107,7 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -5142,7 +5122,7 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -5156,7 +5136,7 @@ }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -5170,7 +5150,7 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -5183,15 +5163,18 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.9.tgz", + "integrity": "sha512-FFwIwzU+7SCOuxxV4YtJql6T9981ZVTm+FHO5GhVsRqCTdy0WwrEZh3l42ARpXruJUDGOptdduHW6Zr7pNPLNg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/plugin-syntax-typescript": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5202,7 +5185,7 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -5216,7 +5199,7 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", @@ -5230,12 +5213,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz", + "integrity": "sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5246,7 +5231,7 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", @@ -5274,7 +5259,7 @@ }, "node_modules/@babel/preset-env": { "version": "7.23.9", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.23.5", @@ -5367,7 +5352,7 @@ }, "node_modules/@babel/preset-flow": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -5383,7 +5368,7 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -5396,7 +5381,7 @@ }, "node_modules/@babel/preset-react": { "version": "7.23.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -5414,16 +5399,18 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz", + "integrity": "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-syntax-jsx": "^7.29.7", + "@babel/plugin-transform-modules-commonjs": "^7.29.7", + "@babel/plugin-transform-typescript": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -5434,7 +5421,7 @@ }, "node_modules/@babel/register": { "version": "7.23.7", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", @@ -5450,66 +5437,55 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "devOptional": true, - "license": "MIT" - }, "node_modules/@babel/runtime": { - "version": "7.23.9", + "version": "7.29.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz", + "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.14.1", - "license": "MIT" - }, "node_modules/@babel/template": { - "version": "7.23.9", - "devOptional": true, + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.9", - "devOptional": true, + "version": "7.29.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.10.tgz", + "integrity": "sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.9", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.23.9", - "devOptional": true, + "version": "7.29.11", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.11.tgz", + "integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.29.11", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -7070,190 +7046,152 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@expo/bunyan": { - "version": "4.0.0", - "engines": [ - "node >=0.10.0" - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "uuid": "^8.0.0" - }, - "optionalDependencies": { - "mv": "~2", - "safe-json-stringify": "~1" - } - }, "node_modules/@expo/cli": { - "version": "0.17.5", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.20.0", - "@expo/code-signing-certificates": "0.0.5", - "@expo/config": "~8.5.0", - "@expo/config-plugins": "~7.8.0", - "@expo/devcert": "^1.0.0", - "@expo/env": "~0.2.0", - "@expo/image-utils": "^0.4.0", - "@expo/json-file": "^8.2.37", - "@expo/metro-config": "~0.17.0", - "@expo/osascript": "^2.0.31", - "@expo/package-manager": "^1.1.1", - "@expo/plist": "^0.1.0", - "@expo/prebuild-config": "6.7.4", - "@expo/rudder-sdk-node": "1.1.1", - "@expo/spawn-async": "1.5.0", - "@expo/xcpretty": "^4.3.0", - "@react-native/dev-middleware": "^0.73.6", - "@urql/core": "2.3.6", - "@urql/exchange-retry": "0.3.0", + "version": "58.1.16", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-58.1.16.tgz", + "integrity": "sha512-ULO+zBuF/6OEE4j5Dbi+Mv9YXkEIGj63QHdKy1deC09kU/C3GZCGXwlIESPSifqK2CUePsY0aYrsby0eE6362w==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@expo/code-signing-certificates": "^0.0.7", + "@expo/config": "~58.0.8", + "@expo/config-plugins": "~58.0.10", + "@expo/devcert": "^1.2.2", + "@expo/env": "~2.5.3", + "@expo/image-utils": "^0.12.5", + "@expo/inline-modules": "^0.2.7", + "@expo/json-file": "^11.2.1", + "@expo/log-box": "^58.0.13", + "@expo/log-box-utils": "^58.0.2", + "@expo/metro": "~58.0.0", + "@expo/metro-config": "58.0.18", + "@expo/metro-file-map": "^58.0.5", + "@expo/osascript": "^2.8.1", + "@expo/package-manager": "^1.14.2", + "@expo/platforms": "^58.0.1", + "@expo/plist": "^0.10.1", + "@expo/prebuild-config": "^58.0.16", + "@expo/require-utils": "^58.0.4", + "@expo/router-server": "^58.0.18", + "@expo/schema-utils": "^58.0.2", + "@expo/spawn-async": "^1.8.0", + "@expo/ws-tunnel": "^2.0.1", + "@expo/xcpretty": "^4.4.6", + "@react-native/asset-utils": "0.88.0", + "@react-native/dev-middleware": "0.88.0", + "@react-native/js-polyfills": "0.88.0", + "2g": "^1.0.1", "accepts": "^1.3.8", - "arg": "5.0.2", - "better-opn": "~3.0.2", + "agent-cli-detector": "0.1.7", + "arg": "^5.0.2", + "bplist-creator": "0.1.0", "bplist-parser": "^0.3.1", - "cacache": "^15.3.0", "chalk": "^4.0.0", "ci-info": "^3.3.0", + "compression": "^1.7.4", "connect": "^3.7.0", - "debug": "^4.3.4", - "env-editor": "^0.4.1", - "find-yarn-workspace-root": "~2.0.0", - "form-data": "^3.0.1", - "freeport-async": "2.0.0", - "fs-extra": "~8.1.0", - "getenv": "^1.0.0", - "glob": "^7.1.7", - "graphql": "15.8.0", - "graphql-tag": "^2.10.1", - "https-proxy-agent": "^5.0.1", - "internal-ip": "4.3.0", - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1", - "js-yaml": "^3.13.1", - "json-schema-deref-sync": "^0.13.0", - "lodash.debounce": "^4.0.8", - "md5hex": "^1.0.0", - "minimatch": "^3.0.4", - "minipass": "3.3.6", - "node-fetch": "^2.6.7", - "node-forge": "^1.3.1", - "npm-package-arg": "^7.0.0", - "open": "^8.3.0", - "ora": "3.4.0", - "picomatch": "^3.0.1", - "pretty-bytes": "5.6.0", - "progress": "2.0.3", + "dnssd-advertise": "^1.1.6", + "expo-server": "^58.0.6", + "fetch-nodeshim": "^0.4.10", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "lan-network": "^0.2.1", + "multitars": "^1.0.2", + "node-forge": "^1.4.0", + "npm-package-arg": "^11.0.0", + "ora": "^3.4.0", + "picomatch": "^4.0.4", + "pretty-format": "^29.7.0", + "progress": "^2.0.3", "prompts": "^2.3.2", - "qrcode-terminal": "0.11.0", - "require-from-string": "^2.0.2", - "requireg": "^0.2.2", - "resolve": "^1.22.2", "resolve-from": "^5.0.0", - "resolve.exports": "^2.0.2", - "semver": "^7.5.3", - "send": "^0.18.0", + "sandbox-cli-detector": "^0.2.0", + "semver": "^7.7.4", + "send": "^0.19.0", "slugify": "^1.3.4", - "source-map-support": "~0.5.21", "stacktrace-parser": "^0.1.10", "structured-headers": "^0.4.1", - "tar": "^6.0.5", - "temp-dir": "^2.0.0", - "tempy": "^0.7.1", "terminal-link": "^2.1.1", - "text-table": "^0.2.0", - "url-join": "4.0.0", + "toqr": "^0.1.1", "wrap-ansi": "^7.0.0", - "ws": "^8.12.1" + "ws": "^8.12.1", + "zod": "^3.25.76" }, "bin": { - "expo-internal": "build/bin/cli" + "expo-internal": "bin/cli.js" + }, + "peerDependencies": { + "expo": "*", + "expo-router": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo-router": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/@expo/cli/node_modules/@expo/prebuild-config": { - "version": "6.7.4", + "node_modules/@expo/cli/node_modules/@expo/ws-tunnel": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-2.0.1.tgz", + "integrity": "sha512-mljsRffbOHzmSimYQbQu9h9NR3alwCCwEEouRGFL4QRTt8dNvsNtKEPa/5jHmtDLDtsh4xXsWKwzjN9BTpeXHQ==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "@expo/config": "~8.5.0", - "@expo/config-plugins": "~7.8.0", - "@expo/config-types": "^50.0.0-alpha.1", - "@expo/image-utils": "^0.4.0", - "@expo/json-file": "^8.2.37", - "debug": "^4.3.1", - "fs-extra": "^9.0.0", - "resolve-from": "^5.0.0", - "semver": "7.5.3", - "xml2js": "0.6.0" - }, "peerDependencies": { - "expo-modules-autolinking": ">=0.8.1" + "ws": "^8.0.0" } }, - "node_modules/@expo/cli/node_modules/@expo/prebuild-config/node_modules/fs-extra": { - "version": "9.1.0", + "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@expo/cli/node_modules/@expo/prebuild-config/node_modules/semver": { - "version": "7.5.3", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "node": ">=8" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@expo/cli/node_modules/@urql/exchange-retry": { - "version": "0.3.0", + "node_modules/@expo/cli/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "@urql/core": ">=2.3.1", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + "engines": { + "node": "18 || 20 || >=22" } }, - "node_modules/@expo/cli/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@expo/cli/node_modules/brace-expansion": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "balanced-match": "^4.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "20 || >=22" } }, "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, @@ -7268,17 +7206,10 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@expo/cli/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - } - }, "node_modules/@expo/cli/node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { "type": "github", @@ -7294,6 +7225,8 @@ }, "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, @@ -7306,104 +7239,65 @@ }, "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/cli/node_modules/commander": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@expo/cli/node_modules/expo-modules-autolinking": { - "version": "1.10.3", + "node_modules/@expo/cli/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/config": "~8.5.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "fast-glob": "^3.2.5", - "find-up": "^5.0.0", - "fs-extra": "^9.1.0" - }, - "bin": { - "expo-modules-autolinking": "bin/expo-modules-autolinking.js" + "ms": "2.0.0" } }, - "node_modules/@expo/cli/node_modules/expo-modules-autolinking/node_modules/fs-extra": { - "version": "9.1.0", + "node_modules/@expo/cli/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==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } + "peer": true }, - "node_modules/@expo/cli/node_modules/find-up": { - "version": "5.0.0", + "node_modules/@expo/cli/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/@expo/cli/node_modules/form-data": { - "version": "3.0.1", - "license": "MIT", + "node_modules/@expo/cli/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/@expo/cli/node_modules/fs-minipass": { - "version": "2.1.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0" + "node": "18 || 20 || >=22" }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@expo/cli/node_modules/graphql": { - "version": "15.8.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 10.x" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, @@ -7411,116 +7305,98 @@ "node": ">=8" } }, - "node_modules/@expo/cli/node_modules/jsonfile": { - "version": "6.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@expo/cli/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/@expo/cli/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@expo/cli/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@expo/cli/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "yallist": "^4.0.0" + "brace-expansion": "^5.0.8" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@expo/cli/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" + "node": "18 || 20 || >=22" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/cli/node_modules/minizlib": { - "version": "2.1.2", - "license": "MIT", + "node_modules/@expo/cli/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, "engines": { - "node": ">= 8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@expo/cli/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/@expo/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==", "license": "MIT", "optional": true, - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "peer": true }, - "node_modules/@expo/cli/node_modules/open": { - "version": "8.4.2", + "node_modules/@expo/cli/node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "license": "MIT", "optional": true, "peer": 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" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@expo/cli/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/@expo/cli/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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "p-limit": "^3.0.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@expo/cli/node_modules/picomatch": { - "version": "3.0.1", + "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, @@ -7528,43 +7404,24 @@ "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@expo/cli/node_modules/require-from-string": { - "version": "2.0.2", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@expo/cli/node_modules/resolve": { - "version": "1.22.8", + "node_modules/@expo/cli/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==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "peer": true }, "node_modules/@expo/cli/node_modules/semver": { - "version": "7.6.0", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7572,55 +7429,61 @@ "node": ">=10" } }, - "node_modules/@expo/cli/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@expo/cli/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/cli/node_modules/tar": { - "version": "6.2.0", - "license": "ISC", - "optional": true, - "peer": 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" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/@expo/cli/node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "license": "ISC", + "node_modules/@expo/cli/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/@expo/cli/node_modules/universalify": { - "version": "2.0.1", + "node_modules/@expo/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==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, "node_modules/@expo/cli/node_modules/ws": { - "version": "8.16.0", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.0.tgz", + "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==", "license": "MIT", "optional": true, "peer": true, @@ -7640,90 +7503,68 @@ } } }, - "node_modules/@expo/cli/node_modules/xml2js": { - "version": "0.6.0", + "node_modules/@expo/code-signing-certificates": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.7.tgz", + "integrity": "sha512-zP0tnfqrFFRL8INtOaQ6XwEYfdIpIH9vrEo7y0bHQGQa50z4/QWXE5CI4nRUHxqFW4MVWOwXFg1hom1aAZHNkQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "node-forge": "^1.4.0" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@expo/cli/node_modules/xmlbuilder": { - "version": "11.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@expo/cli/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, - "node_modules/@expo/code-signing-certificates": { - "version": "0.0.5", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "node-forge": "^1.2.1", - "nullthrows": "^1.1.1" + "node": ">=22.13.0" } }, "node_modules/@expo/config": { - "version": "8.5.4", + "version": "58.0.8", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-58.0.8.tgz", + "integrity": "sha512-jbel1j208xyWFzy2XUUEo/sSnu+7hMunbw//rNyGrjM73rBQouWl3IRKo/p6p4BhRUgoUDJTqmm+AY9LSzfp2A==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~7.8.2", - "@expo/config-types": "^50.0.0", - "@expo/json-file": "^8.2.37", - "getenv": "^1.0.0", - "glob": "7.1.6", - "require-from-string": "^2.0.2", - "resolve-from": "^5.0.0", - "semver": "7.5.3", - "slugify": "^1.3.4", - "sucrase": "3.34.0" + "@expo/config-plugins": "~58.0.10", + "@expo/config-types": "^58.0.3", + "@expo/json-file": "^11.2.1", + "@expo/platforms": "^58.0.1", + "@expo/require-utils": "^58.0.4", + "deepmerge": "^4.3.1", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "resolve-workspace-root": "^2.0.0", + "semver": "^7.7.4", + "slugify": "^1.3.4" } }, "node_modules/@expo/config-plugins": { - "version": "7.8.4", + "version": "58.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-58.0.10.tgz", + "integrity": "sha512-oW0geRREubSsqV2d0EwkK0rRcAoB7a68CnJx7s8Al33HoTtEg7KLTQNcKlSTmmwoUESQQvAmzNqAZy4ajuCBKA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/config-types": "^50.0.0-alpha.1", - "@expo/fingerprint": "^0.6.0", - "@expo/json-file": "~8.3.0", - "@expo/plist": "^0.1.0", - "@expo/sdk-runtime-versions": "^1.0.0", - "@react-native/normalize-color": "^2.0.0", + "@expo/config-types": "^58.0.3", + "@expo/json-file": "~11.2.1", + "@expo/plist": "^0.10.1", + "@expo/require-utils": "^58.0.4", + "@expo/sdk-runtime-versions": "^1.0.1", "chalk": "^4.1.2", - "debug": "^4.3.1", - "find-up": "~5.0.0", - "getenv": "^1.0.0", - "glob": "7.1.6", - "resolve-from": "^5.0.0", - "semver": "^7.5.3", - "slash": "^3.0.0", + "debug": "^4.3.5", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "semver": "^7.7.4", "slugify": "^1.6.6", - "xcode": "^3.0.1", + "xcode": "^4.0.0", "xml2js": "0.6.0" } }, "node_modules/@expo/config-plugins/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -7737,8 +7578,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@expo/config-plugins/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@expo/config-plugins/node_modules/brace-expansion": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@expo/config-plugins/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -7755,6 +7623,8 @@ }, "node_modules/@expo/config-plugins/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -7767,41 +7637,45 @@ }, "node_modules/@expo/config-plugins/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/config-plugins/node_modules/find-up": { - "version": "5.0.0", + "node_modules/@expo/config-plugins/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "ms": "^2.1.3" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@expo/config-plugins/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -7809,6 +7683,8 @@ }, "node_modules/@expo/config-plugins/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -7816,56 +7692,49 @@ "node": ">=8" } }, - "node_modules/@expo/config-plugins/node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "node_modules/@expo/config-plugins/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "brace-expansion": "^5.0.8" }, "engines": { - "node": ">=10" + "node": "18 || 20 || >=22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/config-plugins/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@expo/config-plugins/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@expo/config-plugins/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/@expo/config-plugins/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==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "peer": true }, "node_modules/@expo/config-plugins/node_modules/semver": { - "version": "7.6.0", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7875,6 +7744,8 @@ }, "node_modules/@expo/config-plugins/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, @@ -7887,6 +7758,8 @@ }, "node_modules/@expo/config-plugins/node_modules/xml2js": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", + "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "license": "MIT", "optional": true, "peer": true, @@ -7900,6 +7773,8 @@ }, "node_modules/@expo/config-plugins/node_modules/xmlbuilder": { "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "license": "MIT", "optional": true, "peer": true, @@ -7907,76 +7782,93 @@ "node": ">=4.0" } }, - "node_modules/@expo/config-plugins/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", + "node_modules/@expo/config-types": { + "version": "58.0.3", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-58.0.3.tgz", + "integrity": "sha512-wyfrwkTT/hQHzwyqkXkngKxoOa8L6ovsTP4h/UukS1mTmssee5et6HOPoN5RtawdJPnm5JO28f//C/wXlpka8Q==", + "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/config-types": { - "version": "50.0.0", + "node_modules/@expo/config/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "license": "MIT", "optional": true, - "peer": true + "peer": true, + "engines": { + "node": "18 || 20 || >=22" + } }, - "node_modules/@expo/config/node_modules/@babel/code-frame": { - "version": "7.10.4", + "node_modules/@expo/config/node_modules/brace-expansion": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" } }, "node_modules/@expo/config/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/config/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@expo/config/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "yallist": "^4.0.0" + "brace-expansion": "^5.0.8" }, "engines": { - "node": ">=10" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/config/node_modules/require-from-string": { - "version": "2.0.2", - "license": "MIT", + "node_modules/@expo/config/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, "node_modules/@expo/config/node_modules/semver": { - "version": "7.5.3", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7984,35 +7876,22 @@ "node": ">=10" } }, - "node_modules/@expo/config/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/@expo/devcert": { - "version": "1.1.0", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.2.tgz", + "integrity": "sha512-wz1YedXwdNbYqk/PRr34vixnuw1+l6uSwmPXUj649cot5iYNccb2zIOnK7Nonb1Pfd/dxAY6CvU6KM3uSdxC7A==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "application-config-path": "^0.1.0", - "command-exists": "^1.2.4", - "debug": "^3.1.0", - "eol": "^0.9.1", - "get-port": "^3.2.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "password-prompt": "^1.0.4", - "rimraf": "^2.6.2", - "sudo-prompt": "^8.2.0", - "tmp": "^0.0.33", - "tslib": "^2.4.0" + "@expo/sudo-prompt": "^9.3.1", + "debug": "^3.1.0" } }, "node_modules/@expo/devcert/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "license": "MIT", "optional": true, "peer": true, @@ -8020,27 +7899,148 @@ "ms": "^2.1.1" } }, - "node_modules/@expo/devcert/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD", + "node_modules/@expo/devtools": { + "version": "58.0.2", + "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-58.0.2.tgz", + "integrity": "sha512-WBj/K+vv8JPSmY70ennL04YYOHkpEsGGkfuVY9lfv4XO7Qhbt5qz4q6W7maME194I5oGcimRMigUFfWNkBe90w==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "react": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/devtools/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@expo/devtools/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@expo/devtools/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@expo/devtools/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "optional": true, "peer": true }, + "node_modules/@expo/devtools/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/devtools/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/dom-webview": { + "version": "58.0.2", + "resolved": "https://registry.npmjs.org/@expo/dom-webview/-/dom-webview-58.0.2.tgz", + "integrity": "sha512-bLkREoP7qL3rEuzxP60xG+TjdPoGjbnZfxkvYo5imJxGWfKMOf7x962W06Pu+WWAr4gcDRk16iA+Clg8D0zjCg==", + "license": "MIT", + "optional": true, + "peer": true, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, "node_modules/@expo/env": { - "version": "0.2.1", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.5.3.tgz", + "integrity": "sha512-dBGu8BAfvUcXvG4HvYth+EhcHEsdC+/fT6HTH/zFvvwfp50LG6uzpzT8TXObwEq/t2B/rvAMV5OolxQ46LWXHg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", - "dotenv": "~16.0.3", - "dotenv-expand": "~10.0.0", - "getenv": "^1.0.0" + "getenv": "^2.0.0" + }, + "engines": { + "node": ">=20.12.0" } }, "node_modules/@expo/env/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -8056,6 +8056,8 @@ }, "node_modules/@expo/env/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -8072,6 +8074,8 @@ }, "node_modules/@expo/env/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -8084,21 +8088,16 @@ }, "node_modules/@expo/env/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/env/node_modules/dotenv": { - "version": "16.0.3", - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@expo/env/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -8108,6 +8107,8 @@ }, "node_modules/@expo/env/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, @@ -8119,18 +8120,24 @@ } }, "node_modules/@expo/fingerprint": { - "version": "0.6.0", + "version": "0.21.7", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.21.7.tgz", + "integrity": "sha512-rE9QN4TXGZxS3PC1yW77D1B6JNnuv3n7hXVUZxFEDDndPKFnQPC0XkqFyIz21oXbtrvThROCbV9CDVJiycCntg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/spawn-async": "^1.5.0", + "@expo/env": "^2.5.3", + "@expo/spawn-async": "^1.8.0", + "arg": "^5.0.2", "chalk": "^4.1.2", "debug": "^4.3.4", - "find-up": "^5.0.0", - "minimatch": "^3.0.4", - "p-limit": "^3.1.0", - "resolve-from": "^5.0.0" + "getenv": "^2.0.0", + "glob": "^13.0.0", + "ignore": "^5.3.1", + "minimatch": "^10.2.2", + "resolve-from": "^5.0.0", + "semver": "^7.7.4" }, "bin": { "fingerprint": "bin/cli.js" @@ -8138,6 +8145,8 @@ }, "node_modules/@expo/fingerprint/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -8151,8 +8160,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@expo/fingerprint/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@expo/fingerprint/node_modules/brace-expansion": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@expo/fingerprint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -8169,6 +8205,8 @@ }, "node_modules/@expo/fingerprint/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -8181,28 +8219,35 @@ }, "node_modules/@expo/fingerprint/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/fingerprint/node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", + "node_modules/@expo/fingerprint/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": ">=10" + "node": "18 || 20 || >=22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@expo/fingerprint/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -8210,38 +8255,52 @@ "node": ">=8" } }, - "node_modules/@expo/fingerprint/node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", + "node_modules/@expo/fingerprint/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "brace-expansion": "^5.0.8" }, "engines": { - "node": ">=10" + "node": "18 || 20 || >=22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/fingerprint/node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", + "node_modules/@expo/fingerprint/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, - "dependencies": { - "p-limit": "^3.0.2" + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@expo/fingerprint/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@expo/fingerprint/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, @@ -8253,25 +8312,26 @@ } }, "node_modules/@expo/image-utils": { - "version": "0.4.1", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.12.5.tgz", + "integrity": "sha512-nsFYd7GfDdwZa+S+p+EkVCkh7UKKNf0kfUXDQ53HbyMmNFD3psb5JYwU/2N+uZG5wOEfKGfQ5u7pk/wn2gMlBA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/spawn-async": "1.5.0", + "@expo/require-utils": "^58.0.4", + "@expo/spawn-async": "^1.8.0", "chalk": "^4.0.0", - "fs-extra": "9.0.0", - "getenv": "^1.0.0", + "getenv": "^2.0.0", "jimp-compact": "0.16.1", - "node-fetch": "^2.6.0", "parse-png": "^2.1.0", - "resolve-from": "^5.0.0", - "semver": "7.3.2", - "tempy": "0.3.0" + "semver": "^7.7.4" } }, "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true, @@ -8287,6 +8347,8 @@ }, "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true, @@ -8303,6 +8365,8 @@ }, "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true, @@ -8315,217 +8379,275 @@ }, "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/image-utils/node_modules/crypto-random-string": { - "version": "1.0.0", + "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@expo/image-utils/node_modules/fs-extra": { - "version": "9.0.0", - "license": "MIT", + "node_modules/@expo/image-utils/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/@expo/image-utils/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@expo/image-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==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@expo/image-utils/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@expo/inline-modules": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@expo/inline-modules/-/inline-modules-0.2.7.tgz", + "integrity": "sha512-jjVtmz1LDhohT19U1fwMSL1kVUVZ9ewHdlEoDwSoZd3QELpyUR54nL677nHUbz0nNA5eh/zk38nByi03T06rLg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "@expo/config-plugins": "~58.0.10" } }, - "node_modules/@expo/image-utils/node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.1", + "node_modules/@expo/json-file": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-11.2.1.tgz", + "integrity": "sha512-UPhKoFCj8BcwgLB1rKQ1CuR/REITnZLiqxHEHOeH1tPsdXcHGtUDh0P5bLbr7oU0nKVdtJ5rzyKx8jniMQdESQ==", "license": "MIT", "optional": true, "peer": true, - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@babel/code-frame": "^7.20.0", + "json5": "^2.2.3" } }, - "node_modules/@expo/image-utils/node_modules/semver": { - "version": "7.3.2", - "license": "ISC", + "node_modules/@expo/local-build-cache-provider": { + "version": "58.0.8", + "resolved": "https://registry.npmjs.org/@expo/local-build-cache-provider/-/local-build-cache-provider-58.0.8.tgz", + "integrity": "sha512-vM2YZgQ7XSWuVZmPQgK764lj2PiP9+Y3m/tOpVTI0mHHpCoImBu7R+4KQNPqW87r44rhevduggi8kZ0kaoNNxQ==", + "license": "MIT", "optional": true, "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "@expo/config": "~58.0.8", + "chalk": "^4.1.2" } }, - "node_modules/@expo/image-utils/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@expo/local-build-cache-provider/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@expo/image-utils/node_modules/temp-dir": { - "version": "1.0.0", + "node_modules/@expo/local-build-cache-provider/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "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/@expo/image-utils/node_modules/tempy": { - "version": "0.3.0", + "node_modules/@expo/local-build-cache-provider/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/@expo/image-utils/node_modules/type-fest": { - "version": "0.3.1", - "license": "(MIT OR CC0-1.0)", + "node_modules/@expo/local-build-cache-provider/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } + "peer": true }, - "node_modules/@expo/image-utils/node_modules/unique-string": { - "version": "1.0.0", + "node_modules/@expo/local-build-cache-provider/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "crypto-random-string": "^1.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@expo/image-utils/node_modules/universalify": { - "version": "1.0.0", + "node_modules/@expo/local-build-cache-provider/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/@expo/json-file": { - "version": "8.3.0", + "node_modules/@expo/log-box": { + "version": "58.0.13", + "resolved": "https://registry.npmjs.org/@expo/log-box/-/log-box-58.0.13.tgz", + "integrity": "sha512-Cl9qc77nWjQVivUI5/OCPSEP8s20EtbK3Ivy5ayy+uHO0Cf+XatatWfTvKiHO38VOpT2ywlROzZb4XZyxZUZ1Q==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/code-frame": "~7.10.4", - "json5": "^2.2.2", - "write-file-atomic": "^2.3.0" + "@expo/dom-webview": "^58.0.2", + "@expo/log-box-utils": "^58.0.2", + "anser": "^1.4.9", + "stacktrace-parser": "^0.1.10" + }, + "peerDependencies": { + "@expo/dom-webview": "^58.0.2", + "expo": "*", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } } }, - "node_modules/@expo/json-file/node_modules/@babel/code-frame": { - "version": "7.10.4", + "node_modules/@expo/log-box-utils": { + "version": "58.0.2", + "resolved": "https://registry.npmjs.org/@expo/log-box-utils/-/log-box-utils-58.0.2.tgz", + "integrity": "sha512-My8Lwe9FU/yDwwzqwi5LN2rzzDcJqIAZKrD9f0XHZEKz/FQnWJYdt1rsV7+RwqMGeGq2XsxTCVT1ggTCOvumxw==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } + "peer": true }, - "node_modules/@expo/json-file/node_modules/write-file-atomic": { - "version": "2.4.3", - "license": "ISC", + "node_modules/@expo/metro": { + "version": "58.0.0", + "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-58.0.0.tgz", + "integrity": "sha512-PMD640ihB0C3Oqm0AnDVJ/8qF2cKbRUEqGuSOr4tM/OTb9ktxsQqsiSSSeaOEgdCZBq20AxRS0d6WHNhhH2P+g==", + "license": "MIT", "optional": true, "peer": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "metro": "0.87.1", + "metro-babel-transformer": "0.87.1", + "metro-cache": "0.87.1", + "metro-cache-key": "0.87.1", + "metro-config": "0.87.1", + "metro-core": "0.87.1", + "metro-file-map": "0.87.1", + "metro-minify-terser": "0.87.1", + "metro-resolver": "0.87.1", + "metro-runtime": "0.87.1", + "metro-source-map": "0.87.1", + "metro-symbolicate": "0.87.1", + "metro-transform-plugins": "0.87.1", + "metro-transform-worker": "0.87.1" } }, "node_modules/@expo/metro-config": { - "version": "0.17.4", + "version": "58.0.18", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-58.0.18.tgz", + "integrity": "sha512-hdjbZqs7Wcxj54vM46J9DkfvsSxH83GvZQHkIQccikQ7TVyYqDbe2bmSk3oaO0khyhgaImd9fiR2Obo/4/XH5g==", "license": "MIT", "optional": true, "peer": true, "dependencies": { + "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "@expo/config": "~8.5.0", - "@expo/env": "~0.2.0", - "@expo/json-file": "~8.3.0", - "@expo/spawn-async": "^1.7.2", - "babel-preset-fbjs": "^3.4.0", + "@expo/config": "~58.0.8", + "@expo/env": "~2.5.3", + "@expo/json-file": "~11.2.1", + "@expo/metro": "~58.0.0", + "@expo/platforms": "^58.0.1", + "@expo/require-utils": "^58.0.4", + "@expo/spawn-async": "^1.8.0", + "@jridgewell/gen-mapping": "^0.3.13", + "@jridgewell/remapping": "^2.3.5", + "@jridgewell/sourcemap-codec": "^1.5.5", + "@jridgewell/trace-mapping": "^0.3.31", + "@react-native/js-polyfills": "0.88.0", + "2g": "^1.0.1", + "browserslist": "^4.25.0", "chalk": "^4.1.0", "debug": "^4.3.2", - "find-yarn-workspace-root": "~2.0.0", - "fs-extra": "^9.1.0", - "getenv": "^1.0.0", - "glob": "^7.2.3", + "getenv": "^2.0.0", + "glob": "^13.0.0", + "hermes-parser": "^0.36.0", "jsc-safe-url": "^0.2.4", - "lightningcss": "~1.19.0", - "postcss": "~8.4.32", - "resolve-from": "^5.0.0", - "sucrase": "3.34.0" + "lightningcss": "^1.30.1", + "noxcturnal": "^0.1.10", + "picomatch": "^4.0.4", + "postcss": "^8.5.23", + "resolve-from": "^5.0.0" }, "peerDependencies": { - "@react-native/babel-preset": "*" - } - }, - "node_modules/@expo/metro-config/node_modules/@expo/spawn-async": { - "version": "1.7.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.3" + "expo": "*" }, - "engines": { - "node": ">=12" + "peerDependenciesMeta": { + "expo": { + "optional": true + } } }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true, @@ -8539,8 +8661,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@expo/metro-config/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@expo/metro-config/node_modules/brace-expansion": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true, @@ -8557,6 +8706,8 @@ }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true, @@ -8569,41 +8720,35 @@ }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/metro-config/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/@expo/metro-config/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/@expo/metro-config/node_modules/fs-extra": { - "version": "9.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "node": "18 || 20 || >=22" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true, @@ -8611,50 +8756,52 @@ "node": ">=8" } }, - "node_modules/@expo/metro-config/node_modules/jsonfile": { - "version": "6.1.0", - "license": "MIT", + "node_modules/@expo/metro-config/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, "dependencies": { - "universalify": "^2.0.0" + "brace-expansion": "^5.0.8" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@expo/metro-config/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true, "engines": { - "node": ">=8" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/metro-config/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", + "node_modules/@expo/metro-config/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "optional": true, "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@expo/metro-config/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/@expo/metro-config/node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "license": "MIT", "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@expo/metro-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==", "license": "MIT", "optional": true, "peer": true, @@ -8665,50 +8812,112 @@ "node": ">=8" } }, - "node_modules/@expo/metro-config/node_modules/universalify": { - "version": "2.0.1", + "node_modules/@expo/metro-file-map": { + "version": "58.0.5", + "resolved": "https://registry.npmjs.org/@expo/metro-file-map/-/metro-file-map-58.0.5.tgz", + "integrity": "sha512-Y2w8qKklLffZie28In4WF6f6e8nIJOhU0mZ5UaQdCiITVQm2a5teNdIDudEPkBsh8ItlvyHZt9n42PN2onRbkQ==", "license": "MIT", "optional": true, "peer": true, - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "2g": "^1.0.1", + "debug": "^4.3.4", + "fb-watchman": "^2.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.7.0", + "walker": "^1.0.8" } }, + "node_modules/@expo/modules-macros-linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-linux-arm64/-/modules-macros-linux-arm64-0.24.0.tgz", + "integrity": "sha512-pSjuli8PFrDKjf1Cikl8IbX8CmF/OyiyQaEjOgQwspB8UbM+aZtviDYquEWxkMFWggHaCsPSzTcZxsf7AY6myQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@expo/modules-macros-linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-linux-x64/-/modules-macros-linux-x64-0.24.0.tgz", + "integrity": "sha512-B/w/mojEJ5Q0vkRSoraWj5r1C/AUgXc8t2tHAc18rcPoi/QGSQLNc1cWk7zF7Avbdi4hR8jOzAxxTEbcAkUjKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@expo/modules-macros-win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-arm64/-/modules-macros-win32-arm64-0.24.0.tgz", + "integrity": "sha512-gfoUROUyMqSs6W53FzVJUgGv7pVACab9I1DLD7YlICNtIvkZWyUHDitAdfu5pc0R9l8ypqqGni5MvLGjXgJqNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@expo/modules-macros-win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-x64/-/modules-macros-win32-x64-0.24.0.tgz", + "integrity": "sha512-120H4TvPwpN6GSErXzgRyaNDz6xSYN2ZLICZ2XRORGKiiEdkL8fYyjwDcv3V9gm2zgxWv5ELNtyFfCPoO9OP6Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, "node_modules/@expo/osascript": { - "version": "2.1.0", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.8.1.tgz", + "integrity": "sha512-SCi+6q6uOkGhiAn6AIP/OPFgaIq/iKD2oYpnAOg2rShHStJ8ey7wyT127RbOaZXmlcY/62rHOX1WiiMnD8u/BA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/spawn-async": "^1.5.0", - "exec-async": "^2.2.0" + "@expo/spawn-async": "^1.8.0" }, "engines": { "node": ">=12" } }, "node_modules/@expo/package-manager": { - "version": "1.4.2", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.14.2.tgz", + "integrity": "sha512-sftl0eRVVCarI6grMdjAB3jX2pX1Mt3cdSnajlXS4QyeDkaKRM/ntBy6dcagj1VL0+cEfEqctlyvinmlZdNubg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/json-file": "^8.2.37", - "@expo/spawn-async": "^1.5.0", - "ansi-regex": "^5.0.0", + "@expo/json-file": "^11.2.1", + "@expo/spawn-async": "^1.8.0", "chalk": "^4.0.0", - "find-up": "^5.0.0", - "find-yarn-workspace-root": "~2.0.0", - "js-yaml": "^3.13.1", - "micromatch": "^4.0.2", - "npm-package-arg": "^7.0.0", + "npm-package-arg": "^11.0.0", "ora": "^3.4.0", - "split": "^1.0.1", - "sudo-prompt": "9.1.1" + "resolve-workspace-root": "^2.0.0" } }, "node_modules/@expo/package-manager/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -8724,6 +8933,8 @@ }, "node_modules/@expo/package-manager/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -8740,6 +8951,8 @@ }, "node_modules/@expo/package-manager/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -8752,28 +8965,16 @@ }, "node_modules/@expo/package-manager/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/package-manager/node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@expo/package-manager/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -8781,142 +8982,353 @@ "node": ">=8" } }, - "node_modules/@expo/package-manager/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/@expo/package-manager/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@expo/package-manager/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/@expo/platforms": { + "version": "58.0.1", + "resolved": "https://registry.npmjs.org/@expo/platforms/-/platforms-58.0.1.tgz", + "integrity": "sha512-KtLrtAvpShq16l9lTxd2fZSjULxcGxXrJTHA31iUVqrc+Af7aTAJW4ZB3yQBgi/w+kSb6BB/CG9RXI0ohbMm6g==", "license": "MIT", "optional": true, - "peer": true, + "peer": true + }, + "node_modules/@expo/plist": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.10.1.tgz", + "integrity": "sha512-nuNOqj+r/hGJbZ1Ax3jUpZaOB8UAMHUrISALJEUKaCieTflYj7224EqFWmMpriCGk9wXS1gH+9GGVnSj0tWzuQ==", + "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "p-limit": "^3.0.2" + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + } + }, + "node_modules/@expo/prebuild-config": { + "version": "58.0.16", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-58.0.16.tgz", + "integrity": "sha512-Yhr+1wy4YzLZjbi+F4ss+kUdPN5WnnJ8lwVwOC2wQOsnjnfnyrDImGoEhbnTvzLHRCN8+gEtqKhW9ZSosYYUxQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@expo/config": "~58.0.8", + "@expo/config-plugins": "~58.0.10", + "@expo/config-types": "^58.0.3", + "@expo/image-utils": "^0.12.5", + "@expo/json-file": "^11.2.1", + "@react-native/normalize-colors": "0.88.0", + "debug": "^4.3.1", + "expo-modules-autolinking": "~58.0.15", + "resolve-from": "^5.0.0", + "semver": "^7.7.4" + } + }, + "node_modules/@expo/prebuild-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==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@expo/prebuild-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==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@expo/prebuild-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==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@expo/package-manager/node_modules/sudo-prompt": { - "version": "9.1.1", + "node_modules/@expo/prebuild-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==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/package-manager/node_modules/supports-color": { + "node_modules/@expo/prebuild-config/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==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@expo/prebuild-config/node_modules/expo-modules-autolinking": { + "version": "58.0.15", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-58.0.15.tgz", + "integrity": "sha512-eTeWBS2RWdp2V/LlhjI5JI/5ACMfrdOax9iBpOshDOAZHsncbAKN2fkpmvyAtvVbj1DUJ04ejINUTyDDLgo2yg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@expo/platforms": "^58.0.1", + "@expo/require-utils": "^58.0.4", + "@expo/spawn-async": "^1.8.0", + "chalk": "^4.1.0", + "commander": "^7.2.0" }, + "bin": { + "expo-modules-autolinking": "bin/expo-modules-autolinking.js" + } + }, + "node_modules/@expo/prebuild-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==", + "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/@expo/plist": { - "version": "0.1.0", + "node_modules/@expo/prebuild-config/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/prebuild-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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@xmldom/xmldom": "~0.7.7", - "base64-js": "^1.2.3", - "xmlbuilder": "^14.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@expo/plist/node_modules/xmlbuilder": { - "version": "14.0.0", + "node_modules/@expo/require-utils": { + "version": "58.0.4", + "resolved": "https://registry.npmjs.org/@expo/require-utils/-/require-utils-58.0.4.tgz", + "integrity": "sha512-DvjS5NCitXYcad2Woe1EMHJKcbhTbE77HX0BgOQGL2LFHE3q2H0n8kCWDPBOCVJ63Drap3c35nwoJwF5TQL7Tw==", "license": "MIT", "optional": true, "peer": true, - "engines": { - "node": ">=8.0" + "dependencies": { + "@babel/code-frame": "^7.20.0", + "@babel/core": "^7.25.2", + "@babel/plugin-transform-modules-commonjs": "^7.24.8" + }, + "peerDependencies": { + "typescript": "^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@expo/rudder-sdk-node": { - "version": "1.1.1", + "node_modules/@expo/router-server": { + "version": "58.0.18", + "resolved": "https://registry.npmjs.org/@expo/router-server/-/router-server-58.0.18.tgz", + "integrity": "sha512-qcaRdEVpsZa62t07NtiQe6J18OSzWHgvvhkRAtNpPUBqfVfaEl3fHdYf2kJMRMl/DJSrS6Jr6ymOLk74mPDGXA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/bunyan": "^4.0.0", - "@segment/loosely-validate-event": "^2.0.0", - "fetch-retry": "^4.1.1", - "md5": "^2.2.1", - "node-fetch": "^2.6.1", - "remove-trailing-slash": "^0.1.0", - "uuid": "^8.3.2" + "debug": "^4.3.4" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "@expo/metro-runtime": "^58.0.15", + "expo": "*", + "expo-constants": "^58.0.13", + "expo-font": "^58.0.10", + "expo-router": "*", + "expo-server": "^58.0.6", + "react": "*", + "react-dom": "*", + "react-server-dom-webpack": "~19.0.1 || ~19.1.2 || ~19.2.1 || ~19.3.0" + }, + "peerDependenciesMeta": { + "@expo/metro-runtime": { + "optional": true + }, + "expo-router": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-server-dom-webpack": { + "optional": true + } } }, + "node_modules/@expo/schema-utils": { + "version": "58.0.2", + "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-58.0.2.tgz", + "integrity": "sha512-w28y8SG+5ZTdDdmH2ZnCQk9wHVwGzI9NqX5V4urJUFEnxbm7I129fJRkb8RIAJmMA1WKU5h3ONmranV473uaXQ==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/@expo/sdk-runtime-versions": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.1.tgz", + "integrity": "sha512-kvisefkhxu8Fm/4M8G6DEqUaigrXfrSOm2lFw7hsk/nq0zchcp6B4wSk8rlheHY8FRi5iHxKtoVMGY/3M6h04A==", "license": "MIT", "optional": true, "peer": true }, "node_modules/@expo/spawn-async": { - "version": "1.5.0", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.8.0.tgz", + "integrity": "sha512-eb9xxd/LbuEGSdua4NumCu/McVB9EM+F/JxB9pWgnERw4HQ9XyTNH1KapG6oqLWR8TuRK2LQfzJlmNi94CVobw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "cross-spawn": "^6.0.5" + "cross-spawn": "^7.0.6" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@expo/vector-icons": { - "version": "14.0.0", + "node_modules/@expo/spawn-async/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "license": "MIT", "optional": true, - "peer": true + "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@expo/xcpretty": { - "version": "4.3.1", - "license": "BSD-3-Clause", + "node_modules/@expo/spawn-async/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/spawn-async/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/code-frame": "7.10.4", - "chalk": "^4.1.0", - "find-up": "^5.0.0", - "js-yaml": "^4.1.0" + "shebang-regex": "^3.0.0" }, - "bin": { - "excpretty": "build/cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/@expo/xcpretty/node_modules/@babel/code-frame": { - "version": "7.10.4", + "node_modules/@expo/spawn-async/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/sudo-prompt": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/@expo/xcpretty": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.4.7.tgz", + "integrity": "sha512-EbxYllZ7/ozONVZd425cm4XnolfW+AmSFT5aP7Jdno6oc3WrYQcHz2CO20z/2rwWwYgztmV2PXvYH+BQ8YFjqg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/code-frame": "^7.20.0", + "chalk": "^4.1.0", + "js-yaml": "^4.1.0" + }, + "bin": { + "excpretty": "build/cli.js" } }, "node_modules/@expo/xcpretty/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -8932,12 +9344,16 @@ }, "node_modules/@expo/xcpretty/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==", "license": "Python-2.0", "optional": true, "peer": true }, "node_modules/@expo/xcpretty/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -8954,6 +9370,8 @@ }, "node_modules/@expo/xcpretty/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -8966,28 +9384,16 @@ }, "node_modules/@expo/xcpretty/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@expo/xcpretty/node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@expo/xcpretty/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -8996,7 +9402,19 @@ } }, "node_modules/@expo/xcpretty/node_modules/js-yaml": { - "version": "4.1.0", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "optional": true, "peer": true, @@ -9007,53 +9425,85 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@expo/xcpretty/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/@expo/xcpretty/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@expo/xcpretty/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/@floating-ui/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", + "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", + "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.8.0", + "@floating-ui/utils": "^0.2.12" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.26.28", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.28.tgz", + "integrity": "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.8", + "tabbable": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@expo/xcpretty/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@floating-ui/react-dom": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.9.tgz", + "integrity": "sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@floating-ui/dom": "^1.8.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", + "node_modules/@floating-ui/react-native": { + "version": "0.10.10", + "resolved": "https://registry.npmjs.org/@floating-ui/react-native/-/react-native-0.10.10.tgz", + "integrity": "sha512-7twhZ6DDw+7YLQyMnzLW3RMn5Y8o8yjHr6PhodwlRoH1sXtrMMiZvEdVt4MEFM3rV2xS01oMi/cRUwfS6XLZmg==", "license": "MIT", - "optional": true, - "peer": true + "dependencies": { + "@floating-ui/core": "^1.8.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-native": ">=0.64.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", + "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", + "license": "MIT" }, "node_modules/@gooddollar/goodcontracts": { "version": "2.6.6", @@ -9095,28 +9545,55 @@ "url": "https://dotenvx.com" } }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@goodwidget/core": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@goodwidget/core/-/core-0.1.5.tgz", + "integrity": "sha512-kJfood2FNNsQzfuIdqjThEAUhMzfqcjKsHrX67hrGqFrXxwXzFbOxVhGPpLIEl0jfMmZCrTtsN5GRDgBaL2VaA==", + "dependencies": { + "@goodwidget/ui": "0.1.5", + "tamagui": "1.121.0", + "viem": "^2.0.0" + }, + "engines": { + "node": ">=22.6" + }, "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + "react": ">=18.0.0", + "react-native": ">=0.76.0" + }, + "peerDependenciesMeta": { + "react-native": { + "optional": true + } } }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "license": "BSD-3-Clause", - "optional": true, - "peer": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, + "node_modules/@goodwidget/ui": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@goodwidget/ui/-/ui-0.1.5.tgz", + "integrity": "sha512-4nyHyyukqjBhul6M8upmse6wNVZGRT+38js83sOiYvCDARb2bsKfjoAzsZHxDU6IO3OFzUGSodK3xWZSWpPZBQ==", "dependencies": { - "@hapi/hoek": "^9.0.0" + "@tamagui/animations-react-native": "^1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/lucide-icons": "1.121.0", + "@tamagui/themes": "1.121.0", + "tamagui": "1.121.0" + }, + "peerDependencies": { + "@react-native-clipboard/clipboard": ">=1.14.0", + "react": ">=18.0.0", + "react-native": ">=0.76.0", + "react-native-svg": ">=12" + }, + "peerDependenciesMeta": { + "@react-native-clipboard/clipboard": { + "optional": true + }, + "react-native": { + "optional": true + }, + "react-native-svg": { + "optional": true + } } }, "node_modules/@humanwhocodes/config-array": { @@ -9166,8 +9643,9 @@ }, "node_modules/@isaacs/ttlcache": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": ">=12" @@ -9616,117 +10094,9 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jest/types": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "29.6.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "17.0.32", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@jest/create-cache-key-function/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/environment": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", @@ -9740,7 +10110,7 @@ }, "node_modules/@jest/environment/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -9756,7 +10126,7 @@ }, "node_modules/@jest/environment/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -9764,7 +10134,7 @@ }, "node_modules/@jest/environment/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -9778,7 +10148,7 @@ }, "node_modules/@jest/environment/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -9793,7 +10163,7 @@ }, "node_modules/@jest/environment/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -9804,12 +10174,12 @@ }, "node_modules/@jest/environment/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/@jest/environment/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9817,7 +10187,7 @@ }, "node_modules/@jest/environment/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -9851,7 +10221,7 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -9867,7 +10237,7 @@ }, "node_modules/@jest/fake-timers/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -9883,7 +10253,7 @@ }, "node_modules/@jest/fake-timers/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -9891,7 +10261,7 @@ }, "node_modules/@jest/fake-timers/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -9905,7 +10275,7 @@ }, "node_modules/@jest/fake-timers/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -9920,7 +10290,7 @@ }, "node_modules/@jest/fake-timers/node_modules/ci-info": { "version": "3.9.0", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -9934,7 +10304,7 @@ }, "node_modules/@jest/fake-timers/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -9945,12 +10315,12 @@ }, "node_modules/@jest/fake-timers/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/@jest/fake-timers/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9958,7 +10328,7 @@ }, "node_modules/@jest/fake-timers/node_modules/jest-util": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -9974,7 +10344,7 @@ }, "node_modules/@jest/fake-timers/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -10332,7 +10702,6 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "devOptional": true, "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -10711,7 +11080,7 @@ }, "node_modules/@jest/types": { "version": "26.6.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -10726,7 +11095,7 @@ }, "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -10740,7 +11109,7 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -10755,7 +11124,7 @@ }, "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -10766,12 +11135,12 @@ }, "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10779,7 +11148,7 @@ }, "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -10789,26 +11158,27 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "devOptional": true, + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", "license": "MIT", "engines": { "node": ">=6.0.0" @@ -10822,28 +11192,20 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@leichtgewicht/ip-codec": { @@ -10971,87 +11333,140 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "license": "ISC", + "node_modules/@noxcturnal/noxcturnal-darwin-arm64": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-arm64/-/noxcturnal-darwin-arm64-0.1.11.tgz", + "integrity": "sha512-tqvZOVmSoiJzm7QjQ+whPxCP45J2C1zCAZnzc1HhwmJrFIWw/qyA8o9Cup0aVqnjNVAN+as9GHX+DbAmkCbGlQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", "optional": true, + "os": [ + "darwin" + ], "peer": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "engines": { + "node": ">=18" } }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@noxcturnal/noxcturnal-darwin-x64": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-x64/-/noxcturnal-darwin-x64-0.1.11.tgz", + "integrity": "sha512-V2HXkK5iKFBSc2GmeZE2I2wGxBc0kMQUHxxIUBSjuO8enKIby6cEQj8WW5EAuIli622Sqw1V7f0IIz8mXB4M9g==", + "cpu": [ + "x64" + ], + "license": "MIT", "optional": true, + "os": [ + "darwin" + ], "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.0", - "license": "ISC", + "node_modules/@noxcturnal/noxcturnal-linux-arm64-gnu": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-gnu/-/noxcturnal-linux-arm64-gnu-0.1.11.tgz", + "integrity": "sha512-Vf9Qbke9Hq5ToFt88XicQN0FJJuepOnPKspcKDICeYYXS2b5wQnU7uhf33QWzr1KPQhn0L0IWUCwBNhMVn6E6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", "optional": true, + "os": [ + "linux" + ], "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", + "node_modules/@noxcturnal/noxcturnal-linux-arm64-musl": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-musl/-/noxcturnal-linux-arm64-musl-0.1.11.tgz", + "integrity": "sha512-HlwlrcfBE7JBiwWaq32R8eN4APJHQCDoQlapeK+t0wxY9s9YDMDtAnG+v7RrEz05nu7Aci21x/s8qIAA5jE+NA==", + "cpu": [ + "arm64" + ], + "license": "MIT", "optional": true, - "peer": true + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=18" + } }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", + "node_modules/@noxcturnal/noxcturnal-linux-x64-gnu": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-gnu/-/noxcturnal-linux-x64-gnu-0.1.11.tgz", + "integrity": "sha512-kIzTkH4rEIn8vFl42lzfK8qmKaXMwHM7txbI+XkhYKjS+2WV08yslBpwHaPGtGLXPEfx+xUTUgY5K3KVET7HKw==", + "cpu": [ + "x64" + ], "license": "MIT", "optional": true, + "os": [ + "linux" + ], "peer": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/@noxcturnal/noxcturnal-linux-x64-musl": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-musl/-/noxcturnal-linux-x64-musl-0.1.11.tgz", + "integrity": "sha512-KpC0H+v+y/v0j4EmGiopzZ2OKo01JIBrHTjTi+veYAhZbpUfwZfShdTTHEj5OjdQ5VgaJU8yaBXmX48jgAACOg==", + "cpu": [ + "x64" + ], "license": "MIT", "optional": true, + "os": [ + "linux" + ], "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", + "node_modules/@noxcturnal/noxcturnal-win32-arm64-msvc": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-arm64-msvc/-/noxcturnal-win32-arm64-msvc-0.1.11.tgz", + "integrity": "sha512-Q0Q0ll/qPzakp/GBmVDB/XthqyCkfM2CE5gZ78t9Ix/bkZDe5O0G7OyNkXRsGu49VcorxoGbBgSyF6CK+OaYlQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", "optional": true, + "os": [ + "win32" + ], "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=18" + } + }, + "node_modules/@noxcturnal/noxcturnal-win32-x64-msvc": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-x64-msvc/-/noxcturnal-win32-x64-msvc-0.1.11.tgz", + "integrity": "sha512-as4HUwZkQegCcGoFzaLzlZbBqdx8BGgFhAoQsTsdJCUbNTxVH0f3R/AcRLOUJ6odfko0E2SSuJc70FI0zQ/IDg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=18" } }, "node_modules/@openzeppelin/defender-autotask-client": { @@ -11119,6 +11534,17 @@ "web3-core-helpers": "^1.8.2" } }, + "node_modules/@oxc-project/types": { + "version": "0.154.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.154.0.tgz", + "integrity": "sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==", + "license": "MIT", + "optional": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/oxc-project" + } + }, "node_modules/@peculiar/asn1-schema": { "version": "2.3.8", "license": "MIT", @@ -11225,580 +11651,595 @@ "version": "1.1.0", "license": "BSD-3-Clause" }, - "node_modules/@react-native-community/cli": { - "version": "12.3.2", + "node_modules/@react-native/asset-utils": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/asset-utils/-/asset-utils-0.88.0.tgz", + "integrity": "sha512-Bj1DxQt5f4OrjdlgSVkZT37Z3hx5hUIN5AUDSqL/e99vgtTcqj5vnm067epZL1EF/QiqsniZO8Q1GSkItOakDg==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "@react-native-community/cli-clean": "12.3.2", - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-doctor": "12.3.2", - "@react-native-community/cli-hermes": "12.3.2", - "@react-native-community/cli-plugin-metro": "12.3.2", - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native-community/cli-types": "12.3.2", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "deepmerge": "^4.3.0", - "execa": "^5.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.2", - "semver": "^7.5.2" - }, - "bin": { - "react-native": "build/bin.js" - }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-clean": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "execa": "^5.0.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.88.0.tgz", + "integrity": "sha512-leGEnCcS7Q0hTxvzvhNtr8zGQpI1gfWqXjzC4UedsFmNMv6kIo4s70o0XbtM30ZXbpfWe4BcSC8NKWuak5sI4A==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "@babel/traverse": "^7.29.0", + "@react-native/codegen": "0.88.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-clean/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@react-native/codegen": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.88.0.tgz", + "integrity": "sha512-SAGg+XfzsrPiYTscbKa9bo2/H2ei2TjyxW8RTMq2Ps661kRK3AnmpMGVfrEFshEMr3FGEbuQIvj86X98kaXlRA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.25.2", + "@babel/parser": "^7.29.0", + "flow-parser": "0.327.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "tinyglobby": "^0.2.15", + "yargs": "^17.6.2" }, "engines": { - "node": ">=10" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "*" } }, - "node_modules/@react-native-community/cli-clean/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/@react-native/codegen/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==", + "license": "ISC", "optional": true, "peer": true, "dependencies": { - "color-name": "~1.1.4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" } }, - "node_modules/@react-native-community/cli-clean/node_modules/color-name": { - "version": "1.1.4", + "node_modules/@react-native/codegen/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT", "optional": true, "peer": true }, - "node_modules/@react-native-community/cli-clean/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "node_modules/@react-native/codegen/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, "engines": { - "node": ">= 8" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@react-native-community/cli-clean/node_modules/execa": { - "version": "5.1.1", + "node_modules/@react-native/codegen/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=8" } }, - "node_modules/@react-native-community/cli-clean/node_modules/get-stream": { - "version": "6.0.1", + "node_modules/@react-native/codegen/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", "optional": true, "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/@react-native-community/cli-clean/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/@react-native/codegen/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native-community/cli-clean/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", + "node_modules/@react-native/codegen/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "optional": true, "peer": true, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/@react-native-community/cli-clean/node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/@react-native/codegen/node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "path-key": "^3.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@react-native-community/cli-clean/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", + "node_modules/@react-native/codegen/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==", + "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@react-native-community/cli-clean/node_modules/path-key": { - "version": "3.1.1", + "node_modules/@react-native/community-cli-plugin": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.88.1.tgz", + "integrity": "sha512-L2CQvzsOMz4oof6AVLSzesFL1Q92nrtXpK0uQH2VwdOmzzgkiHql8WFQSo9VLvMFGJDg8+G6enrHH573ruqqWA==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "@react-native/asset-utils": "0.88.1", + "@react-native/dev-middleware": "0.88.1", + "commander": "^12.0.0", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.87.1", + "semver": "^7.1.3" + }, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "0.88.1" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-clean/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/asset-utils": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/asset-utils/-/asset-utils-0.88.1.tgz", + "integrity": "sha512-BLb5FF7NgggGYiCsA7KKkK2qFhn0K+6iGXOI+4Ucd+G7Robzw9Gt4WsWwxLt+Od+G+/hyqfz8ASokyWFZ6VcLw==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-clean/node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "optional": true, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-frontend": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.88.1.tgz", + "integrity": "sha512-4ZjH2093hZWWgsYs5ExqjzJX5uCS4R5yZa17eRHsQClUc6RjlV61kLdIk722sQReLL+NYtBn2RJtdcQtLCwiug==", + "license": "BSD-3-Clause", "peer": true, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-shell": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.88.1.tgz", + "integrity": "sha512-vrOLlxkp/417qcSUiS3x3gmdoQHYA/26oEKIWPB4EekJG0uJxKXsMR0tHIDiJWO0JH/2BO3M+507DjR1U74jQg==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "cross-spawn": "^7.0.6", + "debug": "^4.4.0", + "fb-dotslash": "0.5.8" }, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-config": { - "version": "12.3.2", + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/dev-middleware": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.88.1.tgz", + "integrity": "sha512-0smOWE3NCdEYUwPiEdiwVXjTdvXcwSejviCM0YZB0Dj6HaQ+uu4hpSrvgERDevr5dvtSaqr8N4TdYZCLXiVgFw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^4.3.0", - "glob": "^7.1.3", - "joi": "^17.2.1" + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.88.1", + "@react-native/debugger-shell": "0.88.1", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^8.4.2", + "serve-static": "^1.16.2", + "ws": "^7.5.10" + }, + "engines": { + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@react-native/community-cli-plugin/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=18" } }, - "node_modules/@react-native-community/cli-config/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@react-native/community-cli-plugin/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 8" } }, - "node_modules/@react-native-community/cli-config/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@react-native/community-cli-plugin/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "color-name": "~1.1.4" + "ms": "^2.1.3" }, "engines": { - "node": ">=7.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-config/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native-community/cli-config/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@react-native/community-cli-plugin/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", - "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/@react-native-community/cli-config/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@react-native/community-cli-plugin/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "12.3.2", + "node_modules/@react-native/community-cli-plugin/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==", "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "serve-static": "^1.13.1" - } + "peer": true }, - "node_modules/@react-native-community/cli-doctor": { - "version": "12.3.2", + "node_modules/@react-native/community-cli-plugin/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==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", - "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "semver": "^7.5.2", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1", - "yaml": "^2.2.1" + "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/@react-native-community/cli-doctor/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@react-native/community-cli-plugin/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, + "node_modules/@react-native/community-cli-plugin/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/cli-cursor": { - "version": "3.1.0", + "node_modules/@react-native/community-cli-plugin/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "restore-cursor": "^3.1.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@react-native/community-cli-plugin/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==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ms": "2.0.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-name": { - "version": "1.1.4", + "node_modules/@react-native/community-cli-plugin/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==", "license": "MIT", - "optional": true, "peer": true }, - "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/@react-native/community-cli-plugin/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" }, "engines": { - "node": ">= 8" + "node": ">= 0.8.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/execa": { - "version": "5.1.1", + "node_modules/@react-native/community-cli-plugin/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/get-stream": { - "version": "6.0.1", + "node_modules/@react-native/community-cli-plugin/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "license": "MIT", - "optional": true, "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@react-native/community-cli-plugin/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", - "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/@react-native/community-cli-plugin/node_modules/ws": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", - "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/@react-native/debugger-frontend": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.88.0.tgz", + "integrity": "sha512-v5cnBaaWhDRPcQv8EC20zj53jOAKH7u2wnzzXS4JTNu+diPC+cA2+kC7rq3eKI5vGhlAcG2kDPoViRuC0AY0oA==", + "license": "BSD-3-Clause", "optional": true, "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/@react-native/debugger-shell": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.88.0.tgz", + "integrity": "sha512-p82zT8ZKNx7nIm/8zf8pi55sxm5KQBm8td47kzoJysTdqHLyPsRMUvDXtvCJIWadHSv7RJ6t/yiCc+IoImLBtw==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "debug": "^4.4.0", + "fb-dotslash": "0.5.8" + }, "engines": { - "node": ">=6" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/@react-native/debugger-shell/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "path-key": "^3.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/onetime": { - "version": "5.1.2", + "node_modules/@react-native/debugger-shell/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "mimic-fn": "^2.1.0" + "ms": "^2.1.3" }, "engines": { - "node": ">=6" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora": { - "version": "5.4.1", + "node_modules/@react-native/debugger-shell/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==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/@react-native/debugger-shell/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "license": "MIT", "optional": true, "peer": 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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/@react-native/debugger-shell/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "ansi-regex": "^5.0.1" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/path-key": { - "version": "3.1.1", + "node_modules/@react-native/debugger-shell/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "license": "MIT", "optional": true, "peer": true, @@ -11806,3030 +12247,5264 @@ "node": ">=8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/restore-cursor": { - "version": "3.1.0", + "node_modules/@react-native/dev-middleware": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.88.0.tgz", + "integrity": "sha512-sHLxVHOwfkF672ZzMepNh4d3IKbrZy3qXDKWSwN5LC5VJkzzZ5FdmSPP4N/CCn2pcKJ4oSqvojXwN4De3Xk92A==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.88.0", + "@react-native/debugger-shell": "0.88.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^8.4.2", + "serve-static": "^1.16.2", + "ws": "^7.5.10" }, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/semver": { - "version": "7.6.0", - "license": "ISC", + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "optional": true, "peer": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ms": "^2.1.3" }, "engines": { - "node": ">=10" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-doctor/node_modules/shebang-command": { + "node_modules/@react-native/dev-middleware/node_modules/encodeurl": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/@react-native/dev-middleware/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/@react-native/dev-middleware/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==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/@react-native/dev-middleware/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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "ansi-regex": "^4.1.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", + "node_modules/@react-native/dev-middleware/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@react-native/dev-middleware/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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ms": "2.0.0" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", + "node_modules/@react-native/dev-middleware/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==", + "license": "MIT", "optional": true, "peer": true }, - "node_modules/@react-native-community/cli-hermes": { - "version": "12.3.2", + "node_modules/@react-native/dev-middleware/node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@react-native/dev-middleware/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, - "engines": { - "node": ">=7.0.0" + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/@react-native/gradle-plugin": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.88.1.tgz", + "integrity": "sha512-zalxoJJ/m5kxLnBy9I1zYrx4jaPxPXdys8DeROvrSOa3pSQkTwVVXRZ4FkXCdGodVA9KR2WitplDo/URNjyvFA==", "license": "MIT", - "optional": true, "peer": true, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@react-native/js-polyfills": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.88.0.tgz", + "integrity": "sha512-Iq6v4+EWdOLv0M1+BpADQJBVfInl6FkABXCIBSi0FbvHahEYT+Y4UJ7Cm96p18gbEN1VKzqz3nbBbwLA6bx0rQ==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.2.4", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - } + "node_modules/@react-native/normalize-color": { + "version": "2.1.0", + "license": "MIT" }, - "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@react-native/normalize-colors": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.88.0.tgz", + "integrity": "sha512-eZCu3tGAQCfvMCPQJVY4dmoMX8ZZYBvqIGHX7lwOYyzNK+Dl8e5ky7ZoXub1Rq75oSrQXNNmSP2CDjNNXXZpFQ==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "peer": true }, - "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@react-native/virtualized-lists": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.88.1.tgz", + "integrity": "sha512-Zt+OGvJE6VgmzgemZL8TSA0VomNWpHMNcG0OvLkkBQEGrzY8OdDHRfjJh7S+f+UFJF77kicRC6o6mt3A7ER9lQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=10" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" + "peerDependencies": { + "@types/react": "^19.2.0", + "react": "*", + "react-native": "0.88.1" }, - "engines": { - "node": ">=7.0.0" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@resolver-engine/core": { + "version": "0.2.1", + "license": "LGPL-3.0-or-later", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "debug": "^3.1.0", + "request": "^2.85.0" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/execa": { - "version": "5.1.1", + "node_modules/@resolver-engine/core/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "ms": "^2.1.1" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@resolver-engine/fs": { + "version": "0.2.1", + "license": "LGPL-3.0-or-later", + "dependencies": { + "@resolver-engine/core": "^0.2.1", + "debug": "^3.1.0" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/@resolver-engine/fs/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@resolver-engine/imports": { + "version": "0.2.2", + "license": "LGPL-3.0-or-later", "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" + "@resolver-engine/core": "^0.2.1", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@resolver-engine/imports-fs": { + "version": "0.2.2", + "license": "LGPL-3.0-or-later", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@resolver-engine/fs": "^0.2.1", + "@resolver-engine/imports": "^0.2.2", + "debug": "^3.1.0" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/path-key": { - "version": "3.1.1", + "node_modules/@resolver-engine/imports-fs/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/@resolver-engine/imports/node_modules/debug": { + "version": "3.2.7", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "ms": "^2.1.1" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/@scure/base": { + "version": "1.1.7", "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@scure/bip32": { + "version": "1.4.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "12.3.2", + "node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.4.2", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@scure/bip39": { + "version": "1.3.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/cli": { + "version": "1.75.2", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "https-proxy-agent": "^5.0.0", + "mkdirp": "^0.5.5", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "sentry-cli": "bin/sentry-cli" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 8" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/cli-cursor": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/core": { + "version": "5.30.0", + "license": "BSD-3-Clause", "dependencies": { - "restore-cursor": "^3.1.0" + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "license": "BSD-3-Clause", "dependencies": { - "color-name": "~1.1.4" + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/integrations": { + "version": "5.30.0", + "license": "BSD-3-Clause", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "localforage": "1.8.1", + "tslib": "^1.9.3" }, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/execa": { - "version": "5.1.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "license": "BSD-3-Clause", "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" + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" + "node_modules/@sentry/node": { + "version": "5.30.0", + "license": "BSD-3-Clause", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/is-stream": { - "version": "2.0.1", + "node_modules/@sentry/tracing": { + "version": "5.30.0", "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/types": { + "version": "5.30.0", + "license": "BSD-3-Clause", "engines": { "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "license": "BSD-3-Clause", "dependencies": { - "path-key": "^3.0.0" + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/onetime": { - "version": "5.1.2", + "node_modules/@sentry/webpack-plugin": { + "version": "1.20.1", + "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "mimic-fn": "^2.1.0" + "@sentry/cli": "^1.75.1", + "webpack-sources": "^2.0.0 || ^3.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ora": { - "version": "5.4.1", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", "license": "MIT", - "optional": true, - "peer": 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": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@sinonjs/commons": { + "version": "2.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/restore-cursor": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/abort-controller": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { - "shebang-regex": "^3.0.0" + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } + "node_modules/@smithy/abort-controller/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^2.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/chunked-blob-reader-native/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/chunked-blob-reader/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/config-resolver": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-config-provider": "^2.3.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/config-resolver/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/core": { + "version": "1.4.2", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.1", + "@smithy/middleware-retry": "^2.3.1", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.1", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/eventstream-codec/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-browser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.5.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/fetch-http-handler/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.2.0", + "@smithy/chunked-blob-reader-native": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-blob-browser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/hash-node": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/hash-node/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/hash-stream-node": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/hash-stream-node/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/invalid-dependency/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/is-array-buffer/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/md5-js": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/md5-js/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-content-length/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.5.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.3.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/service-error-classification": "^2.1.5", + "@smithy/smithy-client": "^2.5.1", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.5.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/property-provider": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/protocol-http": { + "version": "3.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-uri-escape": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.5", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.4.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/signature-v4": { + "version": "2.2.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-uri-escape": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/smithy-client": { + "version": "2.5.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.1", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/types": { + "version": "2.12.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/url-parser": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/url-parser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-base64": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-base64/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-body-length-browser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.3.0", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-body-length-node/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^4.0.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-plugin-metro": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@smithy/util-buffer-from/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" }, - "node_modules/@react-native-community/cli-server-api": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-config-provider": { + "version": "2.3.0", + "license": "Apache-2.0", "dependencies": { - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-config-provider/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.2.1", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.1", + "@smithy/types": "^2.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.3.1", + "license": "Apache-2.0", "dependencies": { - "color-name": "~1.1.4" + "@smithy/config-resolver": "^2.2.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.1", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=7.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@smithy/util-defaults-mode-node/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" }, - "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { - "version": "26.6.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-endpoints": { + "version": "1.2.0", + "license": "Apache-2.0", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 10" + "node": ">= 14.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { - "version": "17.0.2", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@smithy/util-endpoints/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "7.5.9", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.3.0" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-middleware": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-retry": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^2.1.5", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">= 14.0.0" } }, - "node_modules/@react-native-community/cli-tools": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-retry/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-stream": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-stream/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@smithy/util-utf8/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/util-waiter": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@smithy/abort-controller": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-waiter/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/@smithy/uuid": { + "version": "1.1.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/cli-cursor": { + "node_modules/@smithy/uuid/node_modules/tslib": { + "version": "2.8.1", + "license": "0BSD" + }, + "node_modules/@socket.io/component-emitter": { "version": "3.1.0", + "license": "MIT" + }, + "node_modules/@solidity-parser/parser": { + "version": "0.14.5", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" + "antlr4ts": "^0.5.0-alpha.4" } }, - "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@stablelib/aead": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/aes": { + "version": "1.0.1", "license": "MIT", "optional": true, - "peer": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@stablelib/binary": "^1.0.1", + "@stablelib/blockcipher": "^1.0.1", + "@stablelib/wipe": "^1.0.1" } }, - "node_modules/@react-native-community/cli-tools/node_modules/color-name": { - "version": "1.1.4", + "node_modules/@stablelib/aes-kw": { + "version": "1.0.1", "license": "MIT", "optional": true, - "peer": true + "dependencies": { + "@stablelib/aes": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/blockcipher": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } }, - "node_modules/@react-native-community/cli-tools/node_modules/find-up": { - "version": "5.0.0", + "node_modules/@stablelib/binary": { + "version": "1.0.1", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/blockcipher": { + "version": "1.0.1", + "license": "MIT", + "optional": true + }, + "node_modules/@stablelib/bytes": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/chacha": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/chacha20poly1305": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/constant-time": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/ed25519": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hash": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/keyagreement": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/bytes": "^1.0.1" + } + }, + "node_modules/@stablelib/nacl": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "@stablelib/poly1305": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1", + "@stablelib/x25519": "^1.0.3", + "@stablelib/xsalsa20": "^1.0.2" + } + }, + "node_modules/@stablelib/poly1305": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/salsa20": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha256": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha512": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@stablelib/x25519": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/xchacha20": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/xchacha20poly1305": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@stablelib/aead": "^1.0.1", + "@stablelib/chacha20poly1305": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1", + "@stablelib/xchacha20": "^1.0.1" + } + }, + "node_modules/@stablelib/xsalsa20": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/salsa20": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=14.16" + } + }, + "node_modules/@tamagui/accordion": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/accordion/-/accordion-1.121.0.tgz", + "integrity": "sha512-Ks4EDs52Xw92rEXafxVzIHV3iEf6AsvSf1/rkkn0DR+XAOF76Ghx7fIld0e8tOrnVfv0Uqj+eYU98V2yZuliwg==", + "dependencies": { + "@tamagui/collapsible": "1.121.0", + "@tamagui/collection": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/accordion/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/accordion/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/adapt": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/adapt/-/adapt-1.121.0.tgz", + "integrity": "sha512-oSNp62NPTHwBfs8a1LcV48J+/SlZnlsKb4xqSPdQa6m6xOi28Q82ax5eQcUJhyzeGSG1glCqGcjosdum9a6LzQ==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/portal": "1.121.0" + } + }, + "node_modules/@tamagui/adapt/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/adapt/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } + }, + "node_modules/@tamagui/adapt/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/alert-dialog": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/alert-dialog/-/alert-dialog-1.121.0.tgz", + "integrity": "sha512-SEE3UWBLgfWiPjdAClgYtCtR7I+KcjFJPlFxtSkEGjuHOogjdIT1lbpQehFZDO4B0eLNpBsl5o7EACQIX/2GMw==", + "dependencies": { + "@tamagui/animate-presence": "1.121.0", + "@tamagui/aria-hidden": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/dialog": "1.121.0", + "@tamagui/dismissable": "1.121.0", + "@tamagui/focus-scope": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/popper": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/remove-scroll": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/alert-dialog/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/alert-dialog/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/alert-dialog/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } + }, + "node_modules/@tamagui/alert-dialog/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/animate": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/animate/-/animate-1.121.0.tgz", + "integrity": "sha512-c7LuIgYzDNs6d3OQTuZdt9yCBB5IkXkmX4BQEAi8yLdgh4mEsmqnGBZzpeaRRRG7e/GRR0TvU7h/ny+LjOAZRw==", + "license": "MIT", + "dependencies": { + "@tamagui/animate-presence": "1.121.0" + } + }, + "node_modules/@tamagui/animate-presence": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/animate-presence/-/animate-presence-1.121.0.tgz", + "integrity": "sha512-e+hAsxc3oBLB2++AhfjajYctrvfzNLv6Bxy0UwUlnufPtYkqukHCjtuvViy7Eo/kU4BXejULG/20yL7hhybIkA==", + "license": "MIT", + "dependencies": { + "@tamagui/helpers": "1.121.0", + "@tamagui/use-constant": "1.121.0", + "@tamagui/use-force-update": "1.121.0", + "@tamagui/use-presence": "1.121.0", + "@tamagui/web": "1.121.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/is-wsl": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4" + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/locate-path": { - "version": "6.0.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "optional": true, - "peer": true, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/mime": { - "version": "2.6.0", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/use-presence": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-presence/-/use-presence-1.121.0.tgz", + "integrity": "sha512-OCCoNdy9vRpShQ9WbmB8qG1hQXZ0lgq0QLv9OFZe/jsK1m/pEyH3ARku6kDOZxhoxnfL2aUBykIC9aSU9rX6+w==", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" + "@tamagui/web": "1.121.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/open": { - "version": "6.4.0", + "node_modules/@tamagui/animate-presence/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "is-wsl": "^1.1.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/ora": { - "version": "5.4.1", + "node_modules/@tamagui/animations-react-native": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/animations-react-native/-/animations-react-native-1.144.4.tgz", + "integrity": "sha512-l83+Y9IpXZoI7Pyylop5tDrVGBRxxf9ZQLoxhhZyhGJMQBQVZith1SxpawmvMdEA4lxbl/W+R3wM3cjce14kyg==", "license": "MIT", - "optional": true, - "peer": 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" + "@tamagui/constants": "1.144.4", + "@tamagui/use-presence": "1.144.4", + "@tamagui/web": "1.144.4" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/aria-hidden": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/aria-hidden/-/aria-hidden-1.121.0.tgz", + "integrity": "sha512-EC8Jq6U3RIYxqRldUmGnTjZTYLxvBYnB+o+97awbqoS39HO1wfGEceKqWOS/0QaJVo3FbxA0fASnrcViGHipvA==", "dependencies": { - "p-limit": "^3.0.2" + "aria-hidden": "^1.1.3" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/restore-cursor": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/avatar": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/avatar/-/avatar-1.121.0.tgz", + "integrity": "sha512-y0kTlJY8OUWq3ZiNp6v2syXsi0qNxW6p8oadolxw0o+1ki9tclahXfoyQHSGOQEjl5Xx4VqaSinAaWGvvXORIw==", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "@tamagui/core": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/image": "1.121.0", + "@tamagui/shapes": "1.121.0", + "@tamagui/text": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "7.6.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "node_modules/@tamagui/avatar/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/avatar/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/sudo-prompt": { - "version": "9.2.1", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@tamagui/avatar/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/button": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/button/-/button-1.121.0.tgz", + "integrity": "sha512-/JT4BMQsvM3RaG64vNGwLoMXeBRDJ/9oGg/kaM0pjPThE+f7BGQGLnYmupl+A2TvJLMEjj/TABK/sB6IPscWpA==", "dependencies": { - "has-flag": "^4.0.0" + "@tamagui/font-size": "1.121.0", + "@tamagui/get-button-sized": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true + "node_modules/@tamagui/button/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@react-native-community/cli-types": { - "version": "12.3.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/button/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/button/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "joi": "^17.2.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/button/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@react-native-community/cli/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@tamagui/button/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/button/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/button/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/button/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/button/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/button/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@react-native-community/cli/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/card": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/card/-/card-1.121.0.tgz", + "integrity": "sha512-CVPZIj2fMPWYixOTulRAguBIN5zBDGglF2UP91/RKJrv4mxhfM6GvpaqhCmrlAmD1rwuaeomF/V48DwF029pNQ==", "dependencies": { - "color-name": "~1.1.4" + "@tamagui/create-context": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=7.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@tamagui/card/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@react-native-community/cli/node_modules/commander": { - "version": "9.5.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": "^12.20.0 || >=14" + "node_modules/@tamagui/card/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/card/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/execa": { - "version": "5.1.1", + "node_modules/@tamagui/card/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } + }, + "node_modules/@tamagui/card/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/card/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/card/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/card/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/card/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/card/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/checkbox": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/checkbox/-/checkbox-1.121.0.tgz", + "integrity": "sha512-hgOXqqnM1nR+Bbc7Itb0AH83zxnB03D7Pz+FS2o8xo5qjtB2ta1SeJounktRhbxh7jFbTBdRRLKDIoUVRZzbcg==", + "dependencies": { + "@tamagui/checkbox-headless": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/font-size": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-previous": "1.121.0" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" + "node_modules/@tamagui/checkbox-headless": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/checkbox-headless/-/checkbox-headless-1.121.0.tgz", + "integrity": "sha512-0gJHWnzK9X3LGzok8N4QLEJs2jzjLskx4tzQvJ3mT/2aqrpjOZZbbAhhWsz3Npww5YtslI6cPRtuXdWHTKyi1A==", + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-previous": "1.121.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/checkbox-headless/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@tamagui/checkbox-headless/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "optional": true, - "peer": true, + "node_modules/@tamagui/checkbox-headless/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" + "node_modules/@tamagui/checkbox-headless/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/checkbox/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/checkbox/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/checkbox/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/checkbox/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/collapsible": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/collapsible/-/collapsible-1.121.0.tgz", + "integrity": "sha512-xPPTtkzL9RzQVb6NX/H5sXYglONrDMN7N2m5z8a9hx4oH1k5hNTwb+o8ppmG0jw2W1JFDNDMZaGaVzrvcinA2A==", "dependencies": { - "mimic-fn": "^2.1.0" + "@tamagui/animate-presence": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/collapsible/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.6.0", - "license": "ISC", - "optional": true, - "peer": true, + "node_modules/@tamagui/collapsible/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/collapsible/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/collapsible/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/collection": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/collection/-/collection-1.121.0.tgz", + "integrity": "sha512-nRGoARPl3XvTwHcCDQRI90Xac3NB1OTehnaX9QnhHA9r1HlBb3sqlBbrBbLBs2a6iQMkTgGF0IUAE7xcoZOn1g==", "dependencies": { - "shebang-regex": "^3.0.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/collection/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native-community/cli/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@tamagui/collection/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/colors": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/colors/-/colors-1.121.0.tgz", + "integrity": "sha512-S61usAKguN1DS0gwvUuCJcaWWXbFHGdG02JGQSUbnFZqRIpssLQYBUCjYlOJJXFp+B8+C7ktzIuU+wi4WTv2aw==" + }, + "node_modules/@tamagui/compose-refs": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.144.4.tgz", + "integrity": "sha512-AXBm7YOCNk0J4MD3rIQySMyQ0jEPP9LooEalOrS3/gdGF2AGjRh7PhdFcG0Gx5S0kO9zOf0fq0keFd3Qi3FJKQ==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/constants": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.144.4.tgz", + "integrity": "sha512-8Ql9PwJYuuBZ/Ss27759dDZMMFLQckUnyo7gm5/P5DclGVoaIklEj/sxM0o7inoaZArr3dPm8fxdtgb11z2Qmg==", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@tamagui/core": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/core/-/core-1.121.0.tgz", + "integrity": "sha512-BIgrN4+DDpUJnBVvoJHAFBB3MZUmlzPy4Xc70oOAeJMiatDy1OwJtqttilQs4PFx97kLEMNSFYJOHfMMimPBtw==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@tamagui/react-native-use-pressable": "1.121.0", + "@tamagui/react-native-use-responder-events": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/web": "1.121.0" } }, - "node_modules/@react-native-community/cli/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true + "node_modules/@tamagui/core/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@react-native/assets-registry": { - "version": "0.73.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@tamagui/core/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/core/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@react-native/codegen": "0.73.3" - }, - "engines": { - "node": ">=18" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native/babel-preset": { - "version": "0.73.21", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/core/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": ">=18" - }, + "@react-native/normalize-color": "^2.1.0" + } + }, + "node_modules/@tamagui/core/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/core/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/core/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/core/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", "peerDependencies": { - "@babel/core": "*" + "react": "*" } }, - "node_modules/@react-native/codegen": { - "version": "0.73.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, + "node_modules/@tamagui/core/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.73.16", + "node_modules/@tamagui/core/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native/dev-middleware": "0.73.7", - "@react-native/metro-babel-transformer": "0.73.15", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/create-context": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/create-context/-/create-context-1.121.0.tgz", + "integrity": "sha512-KkUmfBvM/s9inZxTbQpOjLdaT+AGj24wyol3it3xQqh4SsZ7NOSFt33lGFPHIKpA5kYhhyNpsROd7f8wHHrL/A==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/create-theme": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/create-theme/-/create-theme-1.121.0.tgz", + "integrity": "sha512-w+YDRNUV70hf9KvNHLPi/4+IgSKZxOP0kpKxCH/GtnjE77RckbPQS3No3hKvcCUN9wg32tiIppEK7Wb/+fV92Q==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@tamagui/web": "1.121.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@tamagui/create-theme/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@react-native/community-cli-plugin/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "node_modules/@tamagui/create-theme/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/execa": { - "version": "5.1.1", + "node_modules/@tamagui/create-theme/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/create-theme/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/dialog": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/dialog/-/dialog-1.121.0.tgz", + "integrity": "sha512-7pna0yJEUKP8qEv9Fr10Cb5UYZu6NYKOnvZXVnAV03EOm16EXBZtp3zhxqSrbpn8hOnZiwjIdmuYtTcR6V+EAw==", + "dependencies": { + "@tamagui/adapt": "1.121.0", + "@tamagui/animate-presence": "1.121.0", + "@tamagui/aria-hidden": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/dismissable": "1.121.0", + "@tamagui/focus-scope": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/popper": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/remove-scroll": "1.121.0", + "@tamagui/sheet": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/get-stream": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" + "node_modules/@tamagui/dialog/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/dialog/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/dialog/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } + }, + "node_modules/@tamagui/dialog/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/dismissable": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/dismissable/-/dismissable-1.121.0.tgz", + "integrity": "sha512-0EE4WcJKvhYTRRJTYueS42GrHJSr6+YexSmlj+WApeOwP9BnIei83cgs1V+nd6tKzcZgfFf2Sj13m9aoIqjCyg==", + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/use-escape-keydown": "1.121.0", + "@tamagui/use-event": "1.121.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/dismissable/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@tamagui/dismissable/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" + "node_modules/@tamagui/dismissable/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/npm-run-path": { - "version": "4.0.1", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/dismissable/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/elements": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/elements/-/elements-1.121.0.tgz", + "integrity": "sha512-PCQNAmQmcnlEZN5PlOygXG0nBg7sPyF0P6WiNAkmegfk7D3xWxNuae/ns2e9shg5jF8rEkGZJFopga7tZYI4jQ==", "dependencies": { - "path-key": "^3.0.0" + "@tamagui/core": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/fake-react-native": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/fake-react-native/-/fake-react-native-1.121.0.tgz", + "integrity": "sha512-6ddpWmY6BhMjAjZ420UocUpPiN5mk13todGczVeq43uLGiSFSZwxtCB/pJxjTdYK0ZVWypHRSHQzALCtkqBT9g==" + }, + "node_modules/@tamagui/floating": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/floating/-/floating-1.121.0.tgz", + "integrity": "sha512-JnJRwkXNAkMzIiaGfv9s3RhdiBkBHvlQx4uff45jmnzJFhrM1Z8t5GMDTUl/1wY7hmH8jieqrzmb3i5fWLpcRA==", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/react-native": "^0.10.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/focus-scope": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/focus-scope/-/focus-scope-1.121.0.tgz", + "integrity": "sha512-XDUKhD75ChGdAbuedKAYhG2VLPMsJK/9WyqqYDYHvpEJOLDcps8gSAkA4IQlBpXM02XVeeX/PLGOox/mnr/7ew==", "dependencies": { - "shebang-regex": "^3.0.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/start-transition": "1.121.0", + "@tamagui/use-event": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@tamagui/focus-scope/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/@tamagui/focusable": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/focusable/-/focusable-1.121.0.tgz", + "integrity": "sha512-wAVIKdqFA9XFFqZoKXc48FfPixQHIGvQ1hGWy75U1fqqm5PBf4QpbM7fUZLHx0KN/436+fXdWOQveoq38JbDPw==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.73.3", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@tamagui/focusable/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/dev-middleware": { - "version": "0.73.7", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/focusable/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/focusable/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0" - }, - "engines": { - "node": ">=18" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/focusable/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "ms": "2.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true + "node_modules/@tamagui/focusable/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@react-native/gradle-plugin": { - "version": "0.73.4", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@tamagui/focusable/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/focusable/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/focusable/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/js-polyfills": { - "version": "0.73.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@tamagui/focusable/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@react-native/metro-babel-transformer": { - "version": "0.73.15", + "node_modules/@tamagui/focusable/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.21", - "hermes-parser": "0.15.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, "peerDependencies": { - "@babel/core": "*" + "react": "*", + "react-dom": "*" } }, - "node_modules/@react-native/normalize-color": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native/normalize-colors": { - "version": "0.73.2", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@react-native/virtualized-lists": { - "version": "0.73.4", - "license": "MIT", - "optional": true, - "peer": true, + "node_modules/@tamagui/font-size": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/font-size/-/font-size-1.121.0.tgz", + "integrity": "sha512-hWBRxB/42v/VamLM3IhhEqs7YZNfFjz7Eisv4ZqztCvmjIuHoLwiSAnAc/Knr+IAWRnHV6sJfgtwNKjB/HSBtQ==", "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "@tamagui/core": "1.121.0" }, "peerDependencies": { - "react-native": "*" + "react": "*" } }, - "node_modules/@resolver-engine/core": { - "version": "0.2.1", - "license": "LGPL-3.0-or-later", + "node_modules/@tamagui/form": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/form/-/form-1.121.0.tgz", + "integrity": "sha512-nskti4oVOBdXqSfonripECKqmeA0ANDcyCy0OpHUsPt19qneIuSwkDONyELGoCQDZGhWKk03xbQRKgBsAALjqg==", "dependencies": { - "debug": "^3.1.0", - "request": "^2.85.0" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/get-button-sized": "1.121.0", + "@tamagui/get-font-sized": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/text": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@resolver-engine/core/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "node_modules/@tamagui/form/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@resolver-engine/fs": { - "version": "0.2.1", - "license": "LGPL-3.0-or-later", - "dependencies": { - "@resolver-engine/core": "^0.2.1", - "debug": "^3.1.0" + "node_modules/@tamagui/form/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@resolver-engine/fs/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/@tamagui/form/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "ms": "^2.1.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@resolver-engine/imports": { - "version": "0.2.2", - "license": "LGPL-3.0-or-later", + "node_modules/@tamagui/form/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/get-button-sized": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-button-sized/-/get-button-sized-1.121.0.tgz", + "integrity": "sha512-4wLbsRf+u6K6PLxo3AcerIKluy2/3MKykKpGAM4YZO535v0zZRgUY4WDNln5o35IV/Cw6CW0DmTz4V1k1qsJPg==", "dependencies": { - "@resolver-engine/core": "^0.2.1", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0" + "@tamagui/get-token": "1.121.0", + "@tamagui/web": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@resolver-engine/imports-fs": { - "version": "0.2.2", - "license": "LGPL-3.0-or-later", - "dependencies": { - "@resolver-engine/fs": "^0.2.1", - "@resolver-engine/imports": "^0.2.2", - "debug": "^3.1.0" + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@resolver-engine/imports-fs/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "ms": "^2.1.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@resolver-engine/imports/node_modules/debug": { - "version": "3.2.7", - "license": "MIT", + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "ms": "^2.1.1" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@scure/base": { - "version": "1.1.7", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@scure/bip32": { - "version": "1.4.0", + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-button-sized/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", "dependencies": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.4.2", - "license": "MIT", + "node_modules/@tamagui/get-font-sized": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-font-sized/-/get-font-sized-1.121.0.tgz", + "integrity": "sha512-W+FFxas5x0QFdY2ue5CkUpah/lMQ58+SxxTT5MUt78arILxfu9n/00RSHe0+ywKF1mcLA4l7Y38HZ7Tu07ZGfw==", "dependencies": { - "@noble/hashes": "1.4.0" + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "react": "*" } }, - "node_modules/@scure/bip39": { - "version": "1.3.0", - "license": "MIT", + "node_modules/@tamagui/get-font-sized/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-token": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-token/-/get-token-1.121.0.tgz", + "integrity": "sha512-kplk1m7AbyjaGTYG9Jxfrj55ZPIwtL8sZFlJ7riLYLNvY5wKzvW6sgmvbUy9JderIie5OEjXKZrO1Ehf2ajt8Q==", "dependencies": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" + "@tamagui/web": "1.121.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "react": "*" } }, - "node_modules/@segment/loosely-validate-event": { - "version": "2.0.0", - "optional": true, - "peer": true, + "node_modules/@tamagui/get-token/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "component-type": "^1.2.1", - "join-component": "^1.1.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@sentry/cli": { - "version": "1.75.2", - "dev": true, - "hasInstallScript": true, - "license": "BSD-3-Clause", + "node_modules/@tamagui/get-token/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "https-proxy-agent": "^5.0.0", - "mkdirp": "^0.5.5", - "node-fetch": "^2.6.7", - "progress": "^2.0.3", - "proxy-from-env": "^1.1.0", - "which": "^2.0.2" - }, - "bin": { - "sentry-cli": "bin/sentry-cli" - }, - "engines": { - "node": ">= 8" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "license": "BSD-3-Clause", + "node_modules/@tamagui/get-token/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/get-token/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "license": "BSD-3-Clause", + "node_modules/@tamagui/group": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/group/-/group-1.121.0.tgz", + "integrity": "sha512-cnT5LpFMJ1aNeZK/uQpGySrozlbK+ptrP9QmFCVQkhDcvOMOODLrqnzs1e0dz8DCiYen1JYsX3AQffDv37COQQ==", "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "react": "*" } }, - "node_modules/@sentry/integrations": { - "version": "5.30.0", - "license": "BSD-3-Clause", + "node_modules/@tamagui/group/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/group/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "localforage": "1.8.1", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "license": "BSD-3-Clause", + "node_modules/@tamagui/group/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/helpers": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.144.4.tgz", + "integrity": "sha512-C4XWm8IiD8HqM0ZdVElmUEKz01Q8UHlMaIX4XaHZzbEJ+1fPv5Sy5zRixfyEAubMm/jNVUuEHJcvLHLzDzGluA==", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "@tamagui/constants": "1.144.4", + "@tamagui/simple-hash": "1.144.4" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "react": "*" } }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "license": "BSD-3-Clause", + "node_modules/@tamagui/helpers-icon": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers-icon/-/helpers-icon-1.121.0.tgz", + "integrity": "sha512-BZwXJdoyEAsoiIVV2MaQoPbZKmvrQeZQh5vTMxu4EEq/nlMnrOI4c202v8IVDnJLs55dzVyCFvk5Esg8QdS6Sw==", + "license": "MIT", "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "@tamagui/core": "1.121.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "react": "*", + "react-native-svg": ">=12" } }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "license": "MIT", + "node_modules/@tamagui/helpers-tamagui": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers-tamagui/-/helpers-tamagui-1.121.0.tgz", + "integrity": "sha512-o04U3Gd28S5We5e4LemsHhmW7PJOeap+fuZKUZjfAarKsWm+eKcSHQTjdUdwyEC9j/aT6qDXk7w6mvYegwp2SQ==", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@tamagui/helpers": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "react": "*" } }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "license": "BSD-3-Clause", - "engines": { - "node": ">=6" + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "license": "BSD-3-Clause", - "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@sentry/webpack-plugin": { - "version": "1.20.1", - "dev": true, - "license": "MIT", + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@sentry/cli": "^1.75.1", - "webpack-sources": "^2.0.0 || ^3.0.0" - }, - "engines": { - "node": ">= 8" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@hapi/hoek": "^9.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "license": "BSD-3-Clause", - "optional": true, - "peer": true + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "license": "BSD-3-Clause", - "optional": true, - "peer": true + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "devOptional": true, - "license": "MIT" + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/helpers-tamagui/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@sinonjs/commons": { - "version": "2.0.0", - "devOptional": true, - "license": "BSD-3-Clause", + "node_modules/@tamagui/image": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/image/-/image-1.121.0.tgz", + "integrity": "sha512-ZIsAorycJK5Lf4/JRwoxhzN74y1qj7CpKv/8ge29WaTzRElAQK9NzoBJy90DOv6LNxT0/aZBdDuQqaGPjrGLDA==", "dependencies": { - "type-detect": "4.0.8" + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "devOptional": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0" + "node_modules/@tamagui/image/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/abort-controller": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/is-equal-shallow": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/is-equal-shallow/-/is-equal-shallow-1.144.4.tgz", + "integrity": "sha512-DfujzgfJnG4Shgd+SHmdgqnT51e2zqE+dFjd0cN3481PMekDtKfFQkcMp7nhew757SJMViNS8o4hB/ans6JrJg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/label": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/label/-/label-1.121.0.tgz", + "integrity": "sha512-Wf6P33TSX5XeGl3qkMQ6Zs+KNL5S2Y5HDypFizequsBBLCQkZ4wM9bpdBabxAiMRVqWBKMRp+DPpluD1Dv+krQ==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/get-button-sized": "1.121.0", + "@tamagui/get-font-sized": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "node_modules/@smithy/abort-controller/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/label/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/label/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/label/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/label/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@smithy/util-base64": "^2.3.0", - "tslib": "^2.6.2" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@smithy/chunked-blob-reader-native/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/label/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/chunked-blob-reader/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/label/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" }, - "node_modules/@smithy/config-resolver": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/label/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/label/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/label/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/label/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", - "@smithy/util-middleware": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@smithy/config-resolver/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/linear-gradient": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/linear-gradient/-/linear-gradient-1.121.0.tgz", + "integrity": "sha512-Mx9FiNHmZsUbKOUg5lbvA48RVNdOtmUJygWkBpy9h0DVZtMePjySecrc2v9fOpcm9/eUPp4fuVwFLzBO95FTbQ==", + "dependencies": { + "@tamagui/core": "1.121.0", + "@tamagui/stacks": "1.121.0" + }, + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/core": { - "version": "1.4.2", - "license": "Apache-2.0", + "node_modules/@tamagui/list-item": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/list-item/-/list-item-1.121.0.tgz", + "integrity": "sha512-sD6MesW61F2BVyN7lj9+KR8XuSNGhzGUfOlukxFNRsg/Y6WXFBa1UvbVd0PE6MsSwkkwTUC7LmnALtd1jHEC+w==", "dependencies": { - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/font-size": "1.121.0", + "@tamagui/get-font-sized": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/list-item/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/core/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/list-item/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/list-item/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@smithy/credential-provider-imds/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/lucide-icons": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/lucide-icons/-/lucide-icons-1.121.0.tgz", + "integrity": "sha512-lL1GQQbj32X+MHGHckrVqWeKADOIUDKP+Gbn2Z78pk3tm06nzHP5njelwzTNHSRFCl8So/puOtXdU9i1sZtMAg==", + "license": "MIT", + "dependencies": { + "@tamagui/core": "1.121.0", + "@tamagui/helpers-icon": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-native-svg": ">=12" + } + }, + "node_modules/@tamagui/normalize-css-color": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.144.4.tgz", + "integrity": "sha512-QkdqzgZM5q0sZzP7KITD0xDg1p6Yac4YCqFpqPY6iZcS2snbbsU+iejWRK00itqIsisim9CHyzyPrO7OV5Dalw==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } + }, + "node_modules/@tamagui/polyfill-dev": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/polyfill-dev/-/polyfill-dev-1.121.0.tgz", + "integrity": "sha512-gu9pAlgblFcMerDHHT2XoL7yg3DtzTW/QSaMbmafEo2bNKK0kRT0FH1tXWtVxu9yJ0hcVodC9Cj7bZDIK7voIw==" + }, + "node_modules/@tamagui/popover": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/popover/-/popover-1.121.0.tgz", + "integrity": "sha512-9x5RI5s3VaAJNKkxsr7Xu1LXemtGAcGiGKPPWb9X0HwP25vT6btm78gbrpU4gPj6nnhjHd225K9KdweK0umhvA==", + "dependencies": { + "@floating-ui/react": "^0.26.24", + "@tamagui/adapt": "1.121.0", + "@tamagui/animate": "1.121.0", + "@tamagui/aria-hidden": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/dismissable": "1.121.0", + "@tamagui/floating": "1.121.0", + "@tamagui/focus-scope": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/popper": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/remove-scroll": "1.121.0", + "@tamagui/scroll-view": "1.121.0", + "@tamagui/sheet": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "react-freeze": "^1.0.3" + }, + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/eventstream-codec": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/popover/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/popover/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/popover/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/eventstream-codec/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/popover/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/popper": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/popper/-/popper-1.121.0.tgz", + "integrity": "sha512-S2Who4b/wkrVMzjNbJ3i0tsNju8x8wbVDlT2Kh3V9IPtY4PAjXzWi9lXhGjfX83FuNQ0WvyUzuh9ly4CUpyYCg==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/floating": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/start-transition": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/eventstream-serde-browser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/popper/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/popper/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/portal": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/portal/-/portal-1.121.0.tgz", + "integrity": "sha512-HJewdZdn8HNLvxBVCzKv8ZXoeT9KdWhynjE89qObrys1sHOMBIRGeShMwN+CX+a/CI2hfD76jKh/MhvUhLGadA==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/start-transition": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0" } }, - "node_modules/@smithy/eventstream-serde-config-resolver/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/portal/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/portal/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/progress": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/progress/-/progress-1.121.0.tgz", + "integrity": "sha512-R4ibCaoHuFWAlOIXZI8d1a3E8jOPpoj8cWY0JjL9Fl0PlyxSEepOe3MG/Hs4j80ypN9HD4XLgFmjwhrs34JvMw==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/stacks": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/eventstream-serde-node/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/progress/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-codec": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "node_modules/@tamagui/progress/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/progress/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } + }, + "node_modules/@tamagui/progress/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/radio-group": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/radio-group/-/radio-group-1.121.0.tgz", + "integrity": "sha512-HT/F0qrIXLvmvtQxi7f1Mz/e4/f11x0a8Rr0XZtTzS1seH/PwAmxzMXFdcR8S6kd15h5PULmVceyjZte+UCf2A==", + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/radio-headless": "1.121.0", + "@tamagui/roving-focus": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-previous": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/eventstream-serde-universal/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/radio-group/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.5.0", - "license": "Apache-2.0", + "node_modules/@tamagui/radio-group/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/radio-group/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/fetch-http-handler/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/radio-group/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/hash-blob-browser": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/radio-headless": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/radio-headless/-/radio-headless-1.121.0.tgz", + "integrity": "sha512-IC6t8ArJ50baQSgxNYjPluf+q0LFYzIoLS2PIk+sYIi74i1KQZMlBBtAuiGl4pBTCjyThq/6M6QYfoIUw6uj8Q==", "dependencies": { - "@smithy/chunked-blob-reader": "^2.2.0", - "@smithy/chunked-blob-reader-native": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-previous": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/hash-blob-browser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/radio-headless/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/hash-node": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/radio-headless/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/radio-headless/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/hash-node/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/radio-headless/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/hash-stream-node": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/react-native-media-driver": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-media-driver/-/react-native-media-driver-1.121.0.tgz", + "integrity": "sha512-ftLJ5iyPFP0tImxTBU56qLTj8QdfF47x+MTJphnvpU/XAXhKPUAsik+syTVoGwvK/CGNluKKn+vP9LapECgVUw==", + "license": "MIT", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react-native": "*" } }, - "node_modules/@smithy/hash-stream-node/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/invalid-dependency": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/invalid-dependency/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@smithy/is-array-buffer/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/md5-js": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/md5-js/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/middleware-content-length": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/react-native-media-driver/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@smithy/middleware-content-length/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/react-native-use-pressable": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-pressable/-/react-native-use-pressable-1.121.0.tgz", + "integrity": "sha512-duOJJJ5ZUAaZ44QhlNBFGOxU77wk9XQjQtxEIgtG/aCk85HXf43tJytTP0g9NXvQUYFJ17MVwzFuO8YNcpeaeQ==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.5.1", - "license": "Apache-2.0", + "node_modules/@tamagui/react-native-use-responder-events": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-responder-events/-/react-native-use-responder-events-1.121.0.tgz", + "integrity": "sha512-fS96vTmXianx4aKYiGXELFpNQb6ELulBGs4U1cF8NFq22gfMgpXAdfQCprJXRQyAR5aFzkYb3trACQay8mviiw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/remove-scroll": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/remove-scroll/-/remove-scroll-1.121.0.tgz", + "integrity": "sha512-Oli9OOimuHf381xWvXgxhUEUxmOvqAfeQSd6KefqJnSk9WQNXdpXWIXbSylS7qZXcjswwAUOH8tyzgbQU3Aq6A==", "dependencies": { - "@smithy/middleware-serde": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", - "tslib": "^2.6.2" + "react-remove-scroll": "^2.6.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/middleware-endpoint/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/middleware-retry": { - "version": "2.3.1", - "license": "Apache-2.0", + "node_modules/@tamagui/roving-focus": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/roving-focus/-/roving-focus-1.121.0.tgz", + "integrity": "sha512-pV2bT6+oHS6k7XQ1KqFT/tifMQYTA29oudKnSUyk3lKA3kGuc4L51kBei27gCSgx+xG7YmmVROSlm2hWWgf/nQ==", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/service-error-classification": "^2.1.5", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "@tamagui/collection": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-direction": "1.121.0", + "@tamagui/use-event": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/middleware-retry/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/roving-focus/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "9.0.1", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@tamagui/roving-focus/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/middleware-serde": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/roving-focus/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/middleware-serde/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/roving-focus/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/middleware-stack": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/scroll-view": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/scroll-view/-/scroll-view-1.121.0.tgz", + "integrity": "sha512-Z1p1RZpQ83coghqUJ4+Ii7zgstnQSWFqkcPbYBeb2o8a1NYYj1XfWtCuWnrmcqZToG/l2PJ27gl+9hqcmkl/Ww==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/stacks": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/middleware-stack/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/node-config-provider": { - "version": "2.3.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/node-config-provider/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" + } }, - "node_modules/@smithy/node-http-handler": { - "version": "2.5.0", - "license": "Apache-2.0", + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@smithy/node-http-handler/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/property-provider": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/scroll-view/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/select": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/select/-/select-1.121.0.tgz", + "integrity": "sha512-Gfjlf/+V7YpYXHvBw4qzg5xy/mT/KPur8WQ6s68CHwuwhN39WIdsMvy3Mq5VnFim0rr2iJ8OvBDeUSMHwSc0Uw==", + "dependencies": { + "@floating-ui/react": "^0.26.24", + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/react-native": "^0.10.6", + "@tamagui/adapt": "1.121.0", + "@tamagui/animate-presence": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/dismissable": "1.121.0", + "@tamagui/focus-scope": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/list-item": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/remove-scroll": "1.121.0", + "@tamagui/separator": "1.121.0", + "@tamagui/sheet": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-debounce": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-previous": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/property-provider/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/select/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/protocol-http": { - "version": "3.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/select/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/select/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/protocol-http/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/select/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/querystring-builder": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/separator": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/separator/-/separator-1.121.0.tgz", + "integrity": "sha512-1dd2dsuQuyfL/OS0VxSYI2QM+TKOtymGniMSA/DNzxFuOYiZEMMV2gFhOzAYmiB/tXA7cCX5FiN/D/DbfTa7ZQ==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-uri-escape": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/querystring-builder/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/separator/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/querystring-parser": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/shapes": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/shapes/-/shapes-1.121.0.tgz", + "integrity": "sha512-irGyaBQUVgmhYyOgKgg0b2og95oaXwPDBgezMqbHiAMX/f3c4mm3hYuVlxbnETETZ1z5QRBtNtMje2YDwzbfMQ==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/stacks": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/querystring-parser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/shapes/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/service-error-classification": { - "version": "2.1.5", - "license": "Apache-2.0", + "node_modules/@tamagui/shapes/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/shapes/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/types": "^2.12.0" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.4.0", - "license": "Apache-2.0", + "node_modules/@tamagui/shapes/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@smithy/shared-ini-file-loader/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/shapes/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/signature-v4": { - "version": "2.2.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-uri-escape": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "node_modules/@tamagui/shapes/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/shapes/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/shapes/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/signature-v4/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/shapes/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/smithy-client": { - "version": "2.5.1", - "license": "Apache-2.0", + "node_modules/@tamagui/shapes/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/sheet": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/sheet/-/sheet-1.121.0.tgz", + "integrity": "sha512-amv+0Ug0gMD8WyJ2ESgZJ6ERsZGgWMr3MMCNgnuK3cjLJm0dLS9YqgPf/qjdkaXClouBLOrR4L4ler2syFVUKw==", + "license": "MIT", + "dependencies": { + "@tamagui/adapt": "1.121.0", + "@tamagui/animate-presence": "1.121.0", + "@tamagui/animations-react-native": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/remove-scroll": "1.121.0", + "@tamagui/scroll-view": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-constant": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-keyboard-visible": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/smithy-client/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/types": { - "version": "2.12.0", - "license": "Apache-2.0", + "node_modules/@tamagui/sheet/node_modules/@tamagui/animations-react-native": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-react-native/-/animations-react-native-1.121.0.tgz", + "integrity": "sha512-+o/z+ZUWEIZJ679hFaWNqogNTy329b+1but8knDbXNE+SEp5td8zoKVgRR5leaTMC/kjpT0+cyV/DqgMjONrRQ==", + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/use-presence": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/types/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/sheet/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/url-parser": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/sheet/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/querystring-parser": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/url-parser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/sheet/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } }, - "node_modules/@smithy/util-base64": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/sheet/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/use-presence": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-presence/-/use-presence-1.121.0.tgz", + "integrity": "sha512-OCCoNdy9vRpShQ9WbmB8qG1hQXZ0lgq0QLv9OFZe/jsK1m/pEyH3ARku6kDOZxhoxnfL2aUBykIC9aSU9rX6+w==", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/sheet/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/simple-hash": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.144.4.tgz", + "integrity": "sha512-qNFLORvxKt1pIjqQb8eaNOK2Exdronww57BnJy2OmsSNVK/j4A5e/MqvmstttwmtLrOqw8hhoT8gXP+fQLhO+A==" + }, + "node_modules/@tamagui/slider": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/slider/-/slider-1.121.0.tgz", + "integrity": "sha512-s4sueIAUc2KGQS3pWjP8IdV8yBf5JhRLBvEwTfNFBv6sjUftppiaU2i3kdMyO0g8Fg63CxBgCEJJxDtObFEu/A==", + "dependencies": { + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-debounce": "1.121.0", + "@tamagui/use-direction": "1.121.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/slider/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/slider/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-base64/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/slider/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/util-body-length-browser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/slider/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/util-body-length-node": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/stacks": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/stacks/-/stacks-1.121.0.tgz", + "integrity": "sha512-TrXU0GeNw5z4S5gFJYzarQsow/JZPI1AePldy/AakkYLUsSNUaFO4PNI8Ps4WLab03rFKbJzSW61UwImox/MLw==", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/core": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-body-length-node/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/start-transition": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/start-transition/-/start-transition-1.121.0.tgz", + "integrity": "sha512-DjINKibF8m2CAZGVzvMlx5YLy9T3up+VI5oSWVlXFmAaiBVLLY4kWinJYfchkrE1wf6LIPzdYF/qf33qBWouKQ==", + "license": "MIT" }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/switch": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/switch/-/switch-1.121.0.tgz", + "integrity": "sha512-gkvi4k4sEgZhdjsDlkKelHhsgrV3QprCZnxKQYpGcyKIITeYQErqM2MbJtt8LuNWW07IJ47FL2cGxqhjuOyrWQ==", "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/switch-headless": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-previous": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-buffer-from/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/util-config-provider": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/switch-headless": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/switch-headless/-/switch-headless-1.121.0.tgz", + "integrity": "sha512-TUXa9qpzbl0E0pTjk6JsQ//G5LLdeJJpiH42JFl2J3AoosMpsf5vXxo3zcKaiqFNwnIp4gfGg/9KVdjWq4xYrQ==", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/use-previous": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-config-provider/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/switch-headless/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.2.1", - "license": "Apache-2.0", + "node_modules/@tamagui/switch-headless/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/switch-headless/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/switch-headless/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.3.1", - "license": "Apache-2.0", - "dependencies": { - "@smithy/config-resolver": "^2.2.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" + "node_modules/@tamagui/switch/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-defaults-mode-node/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/switch/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/util-endpoints": { - "version": "1.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/switch/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/util-endpoints/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/switch/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@smithy/util-hex-encoding": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/tabs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/tabs/-/tabs-1.121.0.tgz", + "integrity": "sha512-3604yawH8frBbUdYdRufjpabRvOEKh+CwTiKE5Acip2h/BJ1Om9/+cl/Y2PYS06lTx2paTK9hAv/gzVixwmbdw==", "dependencies": { - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/get-button-sized": "1.121.0", + "@tamagui/group": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/roving-focus": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-direction": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-hex-encoding/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/tabs/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/util-middleware": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/tabs/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/util-middleware/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/tabs/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } }, - "node_modules/@smithy/util-retry": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/tabs/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/tabs/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/service-error-classification": "^2.1.5", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">= 14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@smithy/util-retry/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/util-stream": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/text": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/text/-/text-1.121.0.tgz", + "integrity": "sha512-+ucimldw61bV69B7RKKet6Y7y9AHR43JsAiE7MFZmEH4/RjZ7+oRJPP5YbGIMo516D97HHz96arPJB/iCFjSbw==", "dependencies": { - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "tslib": "^2.6.2" + "@tamagui/get-font-sized": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-stream/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/text/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/text/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/text/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/util-uri-escape/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/text/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } }, - "node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "license": "Apache-2.0", + "node_modules/@tamagui/text/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/text/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/text/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/text/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/text/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/text/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", + "license": "MIT", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@smithy/util-utf8/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/@smithy/util-waiter": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@tamagui/theme": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/theme/-/theme-1.121.0.tgz", + "integrity": "sha512-lpaSP8rLf8Gkbio+TlJIGhEOhoESx/BVmrkH2qNgV8z9fOBoBWsyBSYzuT8udBZIBclOJ1PhNv9+sxgna6Ofiw==", "dependencies": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/types": "^2.12.0", - "tslib": "^2.6.2" + "@tamagui/constants": "1.121.0", + "@tamagui/web": "1.121.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "react": "*" } }, - "node_modules/@smithy/util-waiter/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "node_modules/@tamagui/theme-builder": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/theme-builder/-/theme-builder-1.121.0.tgz", + "integrity": "sha512-MwTPjIwZAcgyBSvg3IWf+SzbbCKBFQKZj/BoMCldgVWEQkG3R0QI23iUW/4PSHOCrqwyYR8mU5EA3Qvo/KnM4g==", + "dependencies": { + "@tamagui/create-theme": "1.121.0", + "color2k": "^2.0.2" + } }, - "node_modules/@smithy/uuid": { - "version": "1.1.0", - "license": "Apache-2.0", + "node_modules/@tamagui/theme/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@smithy/uuid/node_modules/tslib": { - "version": "2.8.1", - "license": "0BSD" + "node_modules/@tamagui/theme/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", + "dependencies": { + "@react-native/normalize-color": "^2.1.0" + } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "license": "MIT" + "node_modules/@tamagui/theme/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@solidity-parser/parser": { - "version": "0.14.5", + "node_modules/@tamagui/theme/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/theme/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@stablelib/aead": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/themes": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/themes/-/themes-1.121.0.tgz", + "integrity": "sha512-yp90J7i5NYOnwKF3TyfU1HnBaHIwvuj5QXqSgWcc+ffdQOuu+83BkuYLGNuJ8FobeCrIQ7QPM/xUxxOMW2pN/A==", + "dependencies": { + "@tamagui/colors": "1.121.0", + "@tamagui/create-theme": "1.121.0", + "@tamagui/theme-builder": "1.121.0", + "@tamagui/web": "1.121.0" + } }, - "node_modules/@stablelib/aes": { - "version": "1.0.1", - "license": "MIT", - "optional": true, + "node_modules/@tamagui/themes/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/blockcipher": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@stablelib/aes-kw": { - "version": "1.0.1", - "license": "MIT", - "optional": true, + "node_modules/@tamagui/themes/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@stablelib/aes": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/blockcipher": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@stablelib/binary": { - "version": "1.0.1", + "node_modules/@tamagui/themes/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/themes/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", "dependencies": { - "@stablelib/int": "^1.0.1" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/timer": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.144.4.tgz", + "integrity": "sha512-023miTGlare9nZ8e5sKoFTCA9R+Ek1Wf1yiS1/uDxZWVY2Qz1Ix3yPU5d/CpUsjqs5ghiJ3fcvzsvwaEdjIXDg==" + }, + "node_modules/@tamagui/toggle-group": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/toggle-group/-/toggle-group-1.121.0.tgz", + "integrity": "sha512-WDYjpeXX3MGep/WD4trARAN4kv/aKV0QNdliEznFBEOyksmmbjw7opw3ZvnrdwtojudfX2qMJNtTM9D7l6Ac7Q==", + "dependencies": { + "@tamagui/constants": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/font-size": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/group": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/roving-focus": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-direction": "1.121.0", + "@tamagui/web": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/blockcipher": { - "version": "1.0.1", - "license": "MIT", - "optional": true + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@stablelib/bytes": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@stablelib/chacha": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@stablelib/chacha20poly1305": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@stablelib/aead": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/chacha": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/poly1305": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@stablelib/constant-time": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" }, - "node_modules/@stablelib/ed25519": { - "version": "1.0.3", + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/toggle-group/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", "dependencies": { - "@stablelib/random": "^1.0.2", - "@stablelib/sha512": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@tamagui/tooltip": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/tooltip/-/tooltip-1.121.0.tgz", + "integrity": "sha512-6G5LrBBqgsoou+yDoOpIBiqN3h0JMSnrsTd/aAjLR/kPkHHDO91LCWDq7awBN5ZWNSBUKGGw/MLovBPgPS4ifQ==", + "dependencies": { + "@floating-ui/react": "^0.26.24", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/floating": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/popover": "1.121.0", + "@tamagui/popper": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/hash": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/tooltip/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@stablelib/int": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/tooltip/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@stablelib/keyagreement": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/tooltip/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@stablelib/bytes": "^1.0.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@stablelib/nacl": { - "version": "1.0.4", - "license": "MIT", + "node_modules/@tamagui/tooltip/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/types": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.144.4.tgz", + "integrity": "sha512-/vmKoj2ytDDYh4Y7Mq/Wjiq4rU1ZAIh0PHpt5KLby5Pxks78GAQ8fQQzLff2H4Mdvzm0ei7zQ6pSo6iM6zJpMQ==" + }, + "node_modules/@tamagui/use-callback-ref": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-callback-ref/-/use-callback-ref-1.121.0.tgz", + "integrity": "sha512-BR6/KGYO8A3Wr9io5qEqZ/tqbv5sjl4m72NMxkqyzqdoQEBv9TsGpy0mkOHruWpK+lZAm0jawb7eveBgeHvK0Q==" + }, + "node_modules/@tamagui/use-constant": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-constant/-/use-constant-1.121.0.tgz", + "integrity": "sha512-r5FJPSDyVcOoV6KwaWi0xBSWxp3UhLwTxVa9X09TTZw1aqHenA02fNCd+qDXqcaea9sFwJ+dJCxmkL0SJeFzEg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-controllable-state": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-controllable-state/-/use-controllable-state-1.121.0.tgz", + "integrity": "sha512-xmbjqHxxnm+1+3vUpXEbv4XXYIE5HQBap9jHubGguilTKGjqW/abenxh6Pe+iEiPNscmUmLPybN84Rnl5jWvGA==", "dependencies": { - "@stablelib/poly1305": "^1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/wipe": "^1.0.1", - "@stablelib/x25519": "^1.0.3", - "@stablelib/xsalsa20": "^1.0.2" + "@tamagui/start-transition": "1.121.0", + "@tamagui/use-event": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/poly1305": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/use-debounce": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-debounce/-/use-debounce-1.121.0.tgz", + "integrity": "sha512-qDNHeK2PKSGql+qurOEqMCAYv4Z0CGamb2kG/rPVx6J3q8ee34jHE+ivY9rYNArzOOnavBO7W0lydypbJFmHMg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.144.4.tgz", + "integrity": "sha512-Lyhtf9UoWYb4o6x4AlRNbDoIyRELzFfBYEWNGDmsmnJ59LMueKEUdNqXZPDRMKEftBtCCuVrFmIGKNe25v7XwQ==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-direction": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-direction/-/use-direction-1.121.0.tgz", + "integrity": "sha512-c2hmFSjqp6pQ0djJQYp774kScRs4jdZt02x2vccg4uRfluAIVSSITpPmi+V84ictywDotRbVyVtJzEInHXDTUg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-escape-keydown": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-escape-keydown/-/use-escape-keydown-1.121.0.tgz", + "integrity": "sha512-oY5qHqV+n2InMdZ4gsULj/1WO0fdW/1qxv2kPPGkTBpmJ51kFyITOJaMvBZcm3vuJZMCRwX4yz5qQo+Ad9wKqQ==", "dependencies": { - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/use-callback-ref": "1.121.0" } }, - "node_modules/@stablelib/random": { - "version": "1.0.2", - "license": "MIT", + "node_modules/@tamagui/use-event": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-event/-/use-event-1.121.0.tgz", + "integrity": "sha512-NGwOM6/KUxJFno04YmmYIBs1jcBqDL/0ghCDqHmadZDFhRDmfjIbLIx7bVH+zrL+rkD5/FYv+ANZvyzOP9J5QA==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/constants": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/salsa20": { - "version": "1.0.2", - "license": "MIT", + "node_modules/@tamagui/use-event/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-force-update": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.144.4.tgz", + "integrity": "sha512-CIsdCY31blRqm6FYQ7VzuqHVOvnmqjL6L4b7eBBLwFwPZ9BE5jv8aTV8gm+D6cMgZvuSNz0SrIJpWPo0TclwDQ==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-keyboard-visible": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-keyboard-visible/-/use-keyboard-visible-1.121.0.tgz", + "integrity": "sha512-UEWR2hJh88gEzXvWvnBPehlfYcg9sj/box7/vr7mdNMvSpxW7/RHu2xIM9fHxYwcLERdAfqvggZSM1j+dMGmtQ==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/use-presence": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/use-presence/-/use-presence-1.144.4.tgz", + "integrity": "sha512-2sJxOcoSCIqzClv05XPnkFlqTOsDOMh8kuNvtFI/IDApq/kKj5rybr5lBt77PW1FMmz0/+wZCOOmLjNCirxZqA==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/web": "1.144.4" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/sha256": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/use-previous": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-previous/-/use-previous-1.121.0.tgz", + "integrity": "sha512-EWDIddj4gegevUW5q3oqxLX8cfmiTnhPbpQpcdFg+2P5nqzfYJnabQs6/zUEDmQiuHsS/Cw2bSkMRODaKqWp8w==" + }, + "node_modules/@tamagui/use-window-dimensions": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-window-dimensions/-/use-window-dimensions-1.121.0.tgz", + "integrity": "sha512-Cge7gaVhq4equeGoouY8UiPBfZSjtepZM4xI9vZxXsIPFaKC4tFri0NCUErnAzNUmn7FVySKo+94swLYVIFC+A==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/constants": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/sha512": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/use-window-dimensions/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/visually-hidden": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/visually-hidden/-/visually-hidden-1.121.0.tgz", + "integrity": "sha512-eu00crLeCFMehhI2/8MCtWn+GEUBQkyogNTGK4WCEE1xNiZK9CvJ8N/rhUfUU5WsknrZaLzdN6uQoOaExdNMyA==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/hash": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@tamagui/web": "1.121.0" + }, + "peerDependencies": { + "react": "*" } }, - "node_modules/@stablelib/wipe": { - "version": "1.0.1", - "license": "MIT" + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } }, - "node_modules/@stablelib/x25519": { - "version": "1.0.3", - "license": "MIT", + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/helpers": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.121.0.tgz", + "integrity": "sha512-eRfsVHd9r3ExbEwtTEsPWsOst4gAYoazwl2p25pzopKyUnqpdnts48phzCv1y0iIo0buVLIZ30rCsn79wO9cQw==", "dependencies": { - "@stablelib/keyagreement": "^1.0.1", - "@stablelib/random": "^1.0.2", - "@stablelib/wipe": "^1.0.1" + "@tamagui/constants": "1.121.0", + "@tamagui/simple-hash": "1.121.0" } }, - "node_modules/@stablelib/xchacha20": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/normalize-css-color": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.121.0.tgz", + "integrity": "sha512-j1E5v7lUAzlMPP/JJpyjAAfGwQhnFDYwtt6x9hJOXn4tCm9aQRij6OZWLO4fN1lwU/T+Pvpj10h+t3XktrRHNg==", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/chacha": "^1.0.1", - "@stablelib/wipe": "^1.0.1" + "@react-native/normalize-color": "^2.1.0" } }, - "node_modules/@stablelib/xchacha20poly1305": { - "version": "1.0.1", + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/simple-hash": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.121.0.tgz", + "integrity": "sha512-z7TV1+z0N17rC1LuIWSUSOvvQ9TjhDSLuEQrDZ0rgi57bGWpMv5BfK6h+w869x3ErZ1qtOQiB/Rceei2zFd1Fw==" + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/timer": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.121.0.tgz", + "integrity": "sha512-a28relzvtsEY152+AIstDXoFddA/8EEihkk7nyZkGmLV2Hb3FWtfYXx9Sj92JC94R/KhCqYXOLX1EQlmAf35qQ==" + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/types": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.121.0.tgz", + "integrity": "sha512-5KYS5UCAO83TokKrSd/J7eObaEEqANuxSP8THpOc1RDilM2Osb3pwqDu4NO5jC+k1F+vz7tn5zSziDJ9m+su7Q==" + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/use-did-finish-ssr": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.121.0.tgz", + "integrity": "sha512-DVx6N5kKhavjL3vrM/X7B6TXFwxadpN0otieY5nga92TTJCOa08pmL0JPtyKAsj0KHSCIDroq2qoLcYLwspZUA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/visually-hidden/node_modules/@tamagui/web": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.121.0.tgz", + "integrity": "sha512-jtH6Vq3FXp44Sk+ABvDsGyKOc3hV3sFX/7E2LAwKFF00MKVnh5XLNCOyNOO5Jxpw9BpkgueCgpyCq8eZEhA5QA==", "license": "MIT", "dependencies": { - "@stablelib/aead": "^1.0.1", - "@stablelib/chacha20poly1305": "^1.0.1", - "@stablelib/constant-time": "^1.0.1", - "@stablelib/wipe": "^1.0.1", - "@stablelib/xchacha20": "^1.0.1" + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/helpers": "1.121.0", + "@tamagui/normalize-css-color": "1.121.0", + "@tamagui/timer": "1.121.0", + "@tamagui/types": "1.121.0", + "@tamagui/use-did-finish-ssr": "1.121.0", + "@tamagui/use-event": "1.121.0", + "@tamagui/use-force-update": "1.121.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/@stablelib/xsalsa20": { - "version": "1.0.2", + "node_modules/@tamagui/web": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.144.4.tgz", + "integrity": "sha512-JMIG2kbG7lJPmNNk8shV1K0aAmZhep9B9gWicwIJ5eFmtxtasdk/niywVeNSkyeIvC8DUgbo8K+6ImOb5dXfNA==", "license": "MIT", "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/salsa20": "^1.0.2", - "@stablelib/wipe": "^1.0.1" + "@tamagui/compose-refs": "1.144.4", + "@tamagui/constants": "1.144.4", + "@tamagui/helpers": "1.144.4", + "@tamagui/is-equal-shallow": "1.144.4", + "@tamagui/normalize-css-color": "1.144.4", + "@tamagui/timer": "1.144.4", + "@tamagui/types": "1.144.4", + "@tamagui/use-did-finish-ssr": "1.144.4", + "@tamagui/use-event": "1.144.4", + "@tamagui/use-force-update": "1.144.4" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*", + "react-native": "*" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "license": "MIT", + "node_modules/@tamagui/web/node_modules/@tamagui/use-event": { + "version": "1.144.4", + "resolved": "https://registry.npmjs.org/@tamagui/use-event/-/use-event-1.144.4.tgz", + "integrity": "sha512-KBT/Doxg41ttHT7HUHu39Scfii3Z2rihK7SQd+8lJpeGMExPo4Uvkf4Ys8fdospB14+i5P+KRdFINf75J+IGvg==", "dependencies": { - "defer-to-connect": "^2.0.1" + "@tamagui/constants": "1.144.4" }, - "engines": { - "node": ">=14.16" + "peerDependencies": { + "react": "*" } }, "node_modules/@textile/crypto": { @@ -14899,11 +17574,27 @@ "@babel/runtime": "7.x" } }, + "node_modules/@toruslabs/fetch-node-details/node_modules/@sentry/core": { + "version": "8.55.2", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.55.2.tgz", + "integrity": "sha512-YlEBwybUcOQ/KjMHDmof1vwweVnBtBxYlQp7DE3fOdtW4pqqdHWTnTntQs4VgYfxzjJYgtkd9LHlGtg8qy+JVQ==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=14.18" + } + }, "node_modules/@toruslabs/fetch-node-details/node_modules/@sentry/types": { - "version": "8.20.0", + "version": "8.55.2", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.55.2.tgz", + "integrity": "sha512-6MH7sKopaAY1XAIoOirjkkhHZfH3TBuIyErtUH29jvHcdHQFQPk42vX82jBL6csGB8wbsHCWjrBh6y2KqtaknA==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "@sentry/core": "8.55.2" + }, "engines": { "node": ">=14.18" } @@ -14974,11 +17665,27 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@toruslabs/torus.js/node_modules/@sentry/core": { + "version": "8.55.2", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.55.2.tgz", + "integrity": "sha512-YlEBwybUcOQ/KjMHDmof1vwweVnBtBxYlQp7DE3fOdtW4pqqdHWTnTntQs4VgYfxzjJYgtkd9LHlGtg8qy+JVQ==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=14.18" + } + }, "node_modules/@toruslabs/torus.js/node_modules/@sentry/types": { - "version": "8.20.0", + "version": "8.55.2", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.55.2.tgz", + "integrity": "sha512-6MH7sKopaAY1XAIoOirjkkhHZfH3TBuIyErtUH29jvHcdHQFQPk42vX82jBL6csGB8wbsHCWjrBh6y2KqtaknA==", "license": "MIT", "optional": true, "peer": true, + "dependencies": { + "@sentry/core": "8.55.2" + }, "engines": { "node": ">=14.18" } @@ -15305,14 +18012,6 @@ "node": ">=16" } }, - "node_modules/@transmute/web-crypto-key-pair/node_modules/big-integer": { - "version": "1.6.52", - "license": "Unlicense", - "optional": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/@transmute/x25519-key-pair": { "version": "0.7.0-unstable.82", "license": "Apache-2.0", @@ -15513,12 +18212,10 @@ }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", - "devOptional": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", - "devOptional": true, "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" @@ -15526,7 +18223,6 @@ }, "node_modules/@types/istanbul-reports": { "version": "3.0.1", - "devOptional": true, "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" @@ -15677,7 +18373,7 @@ }, "node_modules/@types/stack-utils": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/@types/supports-color": { @@ -15715,7 +18411,7 @@ }, "node_modules/@types/yargs": { "version": "15.0.15", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -15723,7 +18419,6 @@ }, "node_modules/@types/yargs-parser": { "version": "21.0.0", - "devOptional": true, "license": "MIT" }, "node_modules/@typescript-eslint/scope-manager": { @@ -15892,9 +18587,371 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", + "node_modules/@typescript/typescript-aix-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", + "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz", + "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz", + "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz", + "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz", + "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz", + "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz", + "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-loong64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz", + "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-mips64el": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz", + "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz", + "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-riscv64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz", + "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-s390x": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz", + "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz", + "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz", + "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz", + "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz", + "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz", + "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-sunos-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz", + "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz", + "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz", + "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "devOptional": true, "license": "ISC" }, "node_modules/@unimodules/core": { @@ -15919,19 +18976,6 @@ "invariant": "^2.2.4" } }, - "node_modules/@urql/core": { - "version": "2.3.6", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.0", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/@veramo-community/lds-ecdsa-secp256k1-recovery2020": { "version": "0.0.8", "resolved": "git+ssh://git@github.com/uport-project/EcdsaSecp256k1RecoverySignature2020.git#ab0db52de6f4e6663ef271a48009ba26e688ef9b", @@ -16707,7 +19751,9 @@ } }, "node_modules/@xmldom/xmldom": { - "version": "0.7.13", + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", + "integrity": "sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==", "license": "MIT", "optional": true, "peer": true, @@ -16732,6 +19778,25 @@ "license": "(Unlicense OR Apache-2.0)", "optional": true }, + "node_modules/2g": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/2g/-/2g-1.0.1.tgz", + "integrity": "sha512-+uViadKOS/wwR4pFu5g8TPn3QHpKqoX19JHCnp8k/3cLpImdcXozwvZA6Q/5PeW3AcU8neL8faaMidBcv7o8CA==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "2g": "bin/cli.js" + }, + "peerDependencies": { + "typescript": ">=5.8.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/abbrev": { "version": "1.1.1", "dev": true, @@ -16740,7 +19805,6 @@ "node_modules/abitype": { "version": "1.0.7", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/wevm" }, @@ -16828,9 +19892,23 @@ "node": ">= 6.0.0" } }, + "node_modules/agent-cli-detector": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/agent-cli-detector/-/agent-cli-detector-0.1.7.tgz", + "integrity": "sha512-d8OWDVdZMgjhLUT9ZPgSv/BdFFF9pVuscC0JdUSz3bjwE15gcp6u/o0/JooM2yyAWC49KThFhXlgTXRa9B7yng==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "agent-cli-detector": "dist/cli.js" + }, + "engines": { + "node": ">=18.18" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", @@ -16981,8 +20059,9 @@ }, "node_modules/anser": { "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/ansi-align": { @@ -17052,76 +20131,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-fragments/node_modules/astral-regex": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-fragments/node_modules/colorette": { - "version": "1.4.0", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/ansi-fragments/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-fragments/node_modules/slice-ansi": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-fragments/node_modules/strip-ansi": { - "version": "5.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-html-community": { "version": "0.0.8", "dev": true, @@ -17135,7 +20144,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -17156,15 +20164,9 @@ "version": "0.5.0-alpha.4", "license": "BSD-3-Clause" }, - "node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/anymatch": { "version": "3.1.3", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -17751,27 +20753,17 @@ "dev": true, "license": "ISC" }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/application-config-path": { - "version": "0.1.1", - "license": "MIT", - "optional": true, - "peer": true - }, "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==", "license": "MIT", "optional": true, "peer": true }, "node_modules/argparse": { "version": "1.0.10", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" @@ -17807,6 +20799,24 @@ "node": ">=0.10.0" } }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-hidden/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/aria-query": { "version": "5.3.0", "dev": true, @@ -17840,11 +20850,13 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", + "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==", "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" @@ -17858,15 +20870,20 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.7", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.2.0.tgz", + "integrity": "sha512-VXY5eFRarnXcYxwBjJzPmEhH55+rmP79/+ueDhi0F+TuqfHCItagIHqxeUZrmgrOPa31QTh9H85DjX3FfJ0FTg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "es-shim-unscopables": "^1.1.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -17877,7 +20894,7 @@ }, "node_modules/array-union": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -17926,6 +20943,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { "version": "1.2.4", "dev": true, @@ -17962,14 +21001,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", + "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" @@ -18015,16 +21056,21 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { @@ -18162,14 +21208,6 @@ "retry": "0.13.1" } }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "license": "MIT" @@ -18368,7 +21406,7 @@ }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", - "devOptional": true, + "dev": true, "license": "MIT", "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -18578,21 +21616,65 @@ "license": "MIT" }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/babel-plugin-polyfill-corejs2/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==", + "devOptional": true, + "license": "MIT" + }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.9.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.5.0", @@ -18604,7 +21686,7 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.5.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.5.0" @@ -18631,6 +21713,17 @@ "dev": true, "license": "MIT" }, + "node_modules/babel-plugin-react-compiler": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz", + "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/types": "^7.26.0" + } + }, "node_modules/babel-plugin-react-constant-elements": { "version": "1.0.3", "dev": true, @@ -18642,7 +21735,9 @@ "license": "MIT" }, "node_modules/babel-plugin-react-native-web": { - "version": "0.18.12", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.4.tgz", + "integrity": "sha512-FSclsDTGi5EcvpbW3TM7s8GLWwQqo5wI9zQqJr2m0IoJRenSkp1+bVvdeZXTNznI5Ms9Bry7DLBR+C5Shb9gtw==", "license": "MIT", "optional": true, "peer": true @@ -18662,14 +21757,21 @@ "dev": true, "license": "MIT" }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.36.1.tgz", + "integrity": "sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==", "license": "MIT", "optional": true, - "peer": true + "peer": true, + "dependencies": { + "hermes-parser": "0.36.1" + } }, "node_modules/babel-plugin-transform-flow-enums": { "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", "license": "MIT", "optional": true, "peer": true, @@ -18724,58 +21826,72 @@ } }, "node_modules/babel-preset-expo": { - "version": "10.0.1", + "version": "58.0.21", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-58.0.21.tgz", + "integrity": "sha512-EpfootmsfJKstMbSRI3qt7gwfoaRcGMTl20I3e8yr8/5CUqxqjK7PFKFI92Fc3sGdDRh4fXd1s+Ca1IXZNUlyw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { + "@babel/generator": "^7.20.5", + "@babel/helper-module-imports": "^7.25.9", "@babel/plugin-proposal-decorators": "^7.12.9", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/preset-env": "^7.20.0", - "@babel/preset-react": "^7.22.15", - "@react-native/babel-preset": "^0.73.18", - "babel-plugin-react-native-web": "~0.18.10", - "react-refresh": "0.14.0" - } - }, - "node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.28.6", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.25.2", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/preset-typescript": "^7.23.0", + "@react-native/babel-plugin-codegen": "0.88.0", + "babel-plugin-react-compiler": "^1.0.0", + "babel-plugin-react-native-web": "~0.21.4", + "babel-plugin-syntax-hermes-parser": "^0.36.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "debug": "^4.3.4" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/runtime": "^7.20.0", + "expo": "*", + "expo-widgets": "^58.0.24", + "react-refresh": ">=0.14.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@babel/runtime": { + "optional": true + }, + "expo": { + "optional": true + }, + "expo-widgets": { + "optional": true + } } }, "node_modules/babel-preset-jest": { @@ -18887,6 +22003,18 @@ "node": ">=14" } }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.34", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.34.tgz", + "integrity": "sha512-Aqr8mA1kIvyJ3UY5YAY7ib8LSo1DmDMbMnVqGPtsKW1LxaFQFwn9Eb3yvq2fUKJsRvaXjnAV7R5osqETapzNiA==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/batch": { "version": "0.6.1", "dev": true, @@ -18907,40 +22035,12 @@ "version": "1.1.4", "license": "MIT" }, - "node_modules/better-opn": { - "version": "3.0.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/better-opn/node_modules/open": { - "version": "8.4.2", - "license": "MIT", - "optional": true, - "peer": 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/big-integer": { - "version": "1.6.36", + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "license": "Unlicense", "optional": true, - "peer": true, "engines": { "node": ">=0.6" } @@ -18997,55 +22097,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/bl": { - "version": "4.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/blakejs": { "version": "1.2.1", "license": "MIT" @@ -19054,12 +22105,6 @@ "version": "3.7.2", "license": "MIT" }, - "node_modules/blueimp-md5": { - "version": "2.19.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/bn.js": { "version": "5.2.1", "license": "MIT" @@ -19125,7 +22170,6 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/bootstrap": { @@ -19286,6 +22330,8 @@ }, "node_modules/bplist-creator": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", "license": "MIT", "optional": true, "peer": true, @@ -19295,6 +22341,8 @@ }, "node_modules/bplist-parser": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", "license": "MIT", "optional": true, "peer": true, @@ -19345,7 +22393,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", + "version": "4.29.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.5.tgz", + "integrity": "sha512-khTmKu5NGYTotqcYo8Bew2k4RAE9PuXRSFRXG2lQBrCEQHyeQ/vX6gKMxfokwywBsLiXZMnHsmWMG1pnO8J7uQ==", "funding": [ { "type": "opencollective", @@ -19362,10 +22412,11 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "baseline-browser-mapping": "^2.11.33", + "caniuse-lite": "^1.0.30001819", + "electron-to-chromium": "^1.5.464", + "node-releases": "^2.0.60", + "update-browserslist-db": "^1.3.4" }, "bin": { "browserslist": "cli.js" @@ -19392,7 +22443,6 @@ }, "node_modules/bser": { "version": "2.1.1", - "devOptional": true, "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" @@ -19414,32 +22464,10 @@ "isarray": "^1.0.0" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "license": "BSD-3-Clause" }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" @@ -19467,12 +22495,6 @@ "node": ">=6.14.2" } }, - "node_modules/builtins": { - "version": "1.0.3", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/bytes": { "version": "3.1.2", "license": "MIT", @@ -19480,152 +22502,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "15.3.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/fs-minipass": { - "version": "2.1.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache/node_modules/minizlib": { - "version": "2.1.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/tar": { - "version": "6.2.0", - "license": "ISC", - "optional": true, - "peer": 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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/cache-base": { "version": "1.0.1", "dev": true, @@ -19689,12 +22565,14 @@ } }, "node_modules/call-bind": { - "version": "1.0.8", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" }, "engines": { @@ -19705,7 +22583,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", + "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==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -19716,11 +22596,13 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -19731,7 +22613,7 @@ }, "node_modules/caller-callsite": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "callsites": "^2.0.0" @@ -19742,7 +22624,7 @@ }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -19750,7 +22632,7 @@ }, "node_modules/caller-path": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "caller-callsite": "^2.0.0" @@ -19768,7 +22650,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001587", + "version": "1.0.30001819", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001819.tgz", + "integrity": "sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==", "funding": [ { "type": "opencollective", @@ -19873,15 +22757,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/charenc": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/checkpoint-store": { "version": "1.1.0", "license": "ISC", @@ -19955,36 +22830,6 @@ "version": "1.1.4", "license": "ISC" }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/chrome-launcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "license": "MIT", @@ -19992,62 +22837,9 @@ "node": ">=6.0" } }, - "node_modules/chromium-edge-launcher": { - "version": "1.0.0", - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "node_modules/chromium-edge-launcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chromium-edge-launcher/node_modules/mkdirp": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/chromium-edge-launcher/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/ci-info": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/cids": { @@ -20217,7 +23009,7 @@ }, "node_modules/clean-stack": { "version": "2.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -20244,6 +23036,8 @@ }, "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==", "license": "MIT", "optional": true, "peer": true, @@ -20256,6 +23050,8 @@ }, "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==", "license": "MIT", "optional": true, "peer": true, @@ -20441,6 +23237,9 @@ }, "node_modules/coffee-script": { "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", "dev": true, "license": "MIT", "peer": true, @@ -20480,6 +23279,12 @@ "version": "1.1.3", "license": "MIT" }, + "node_modules/color2k": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.4.tgz", + "integrity": "sha512-OXAPGFRNeLFnUfqDtloYdxkwsJoIdXe28+bjbpJiPqyei2HPa3VHmMCWa0Qe62+U4Ftf9Hj7hRssOkxz7WiWbg==", + "license": "MIT" + }, "node_modules/colorette": { "version": "2.0.19", "license": "MIT" @@ -20535,15 +23340,9 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/commander": { "version": "4.1.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -20551,7 +23350,7 @@ }, "node_modules/commondir": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/commoner": { @@ -20632,15 +23431,6 @@ "dev": true, "license": "MIT" }, - "node_modules/component-type": { - "version": "1.2.2", - "license": "MIT", - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/compressible": { "version": "2.0.18", "devOptional": true, @@ -20777,8 +23567,9 @@ }, "node_modules/connect": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "debug": "2.6.9", @@ -20800,8 +23591,9 @@ }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "ms": "2.0.0" @@ -20809,8 +23601,9 @@ }, "node_modules/connect/node_modules/finalhandler": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "debug": "2.6.9", @@ -20827,14 +23620,16 @@ }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/connect/node_modules/on-finished": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "ee-first": "1.1.1" @@ -20845,8 +23640,9 @@ }, "node_modules/connect/node_modules/statuses": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">= 0.6" @@ -20957,11 +23753,16 @@ } }, "node_modules/core-js-compat": { - "version": "3.36.0", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.51.0.tgz", + "integrity": "sha512-52r6fkXgxv4GLMjmFcMWRx7X9bw071xTTdrDcdyPGRqU2oE+9pCG0bAOMifSBdLw0JRBZKEF0q3B55qPlLuE8g==", "devOptional": true, "license": "MIT", "dependencies": { - "browserslist": "^4.22.3" + "browserslist": "^4.29.3" + }, + "engines": { + "node": ">=6.4.0" }, "funding": { "type": "opencollective", @@ -20985,7 +23786,7 @@ }, "node_modules/cosmiconfig": { "version": "5.2.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "import-fresh": "^2.0.0", @@ -20999,7 +23800,7 @@ }, "node_modules/cosmiconfig/node_modules/import-fresh": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "caller-path": "^2.0.0", @@ -21011,7 +23812,7 @@ }, "node_modules/cosmiconfig/node_modules/resolve-from": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -21200,7 +24001,7 @@ }, "node_modules/cross-spawn": { "version": "6.0.5", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "nice-try": "^1.0.4", @@ -21215,7 +24016,7 @@ }, "node_modules/cross-spawn/node_modules/semver": { "version": "5.7.1", - "devOptional": true, + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver" @@ -21223,7 +24024,7 @@ }, "node_modules/cross-spawn/node_modules/which": { "version": "1.3.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -21232,15 +24033,6 @@ "which": "bin/which" } }, - "node_modules/crypt": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/crypto-js": { "version": "3.3.0", "license": "MIT" @@ -21255,7 +24047,7 @@ }, "node_modules/crypto-random-string": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -21263,7 +24055,6 @@ }, "node_modules/css-select": { "version": "5.1.0", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", @@ -21276,9 +24067,22 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/css-what": { "version": "6.1.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">= 6" @@ -21295,12 +24099,6 @@ "type": "^1.0.1" } }, - "node_modules/dag-map": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "dev": true, @@ -21325,12 +24123,14 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "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" @@ -21340,25 +24140,29 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", + "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==", "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", + "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==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -21497,7 +24301,7 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4.0.0" @@ -21645,6 +24449,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==", "license": "MIT", "optional": true, "peer": true, @@ -21657,6 +24463,8 @@ }, "node_modules/defaults/node_modules/clone": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "license": "MIT", "optional": true, "peer": true, @@ -21695,7 +24503,6 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -21840,43 +24647,6 @@ "y18n": "^3.2.0" } }, - "node_modules/del": { - "version": "6.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/delay": { "version": "4.4.1", "license": "MIT", @@ -21894,12 +24664,6 @@ "node": ">=0.4.0" } }, - "node_modules/denodeify": { - "version": "1.2.1", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/denque": { "version": "2.1.0", "license": "Apache-2.0", @@ -21914,20 +24678,6 @@ "node": ">= 0.8" } }, - "node_modules/deprecated-react-native-prop-types": { - "version": "5.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@react-native/normalize-colors": "^0.73.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/dequal": { "version": "2.0.3", "dev": true, @@ -21945,15 +24695,14 @@ } }, "node_modules/detect-libc": { - "version": "1.0.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "license": "Apache-2.0", "optional": true, "peer": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, "node_modules/detect-newline": { @@ -21969,6 +24718,12 @@ "dev": true, "license": "MIT" }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, "node_modules/did-jwt": { "version": "7.4.7", "license": "Apache-2.0", @@ -22044,7 +24799,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "path-type": "^4.0.0" @@ -22055,7 +24810,7 @@ }, "node_modules/dir-glob/node_modules/path-type": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -22082,6 +24837,14 @@ "node": ">=6" } }, + "node_modules/dnssd-advertise": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/dnssd-advertise/-/dnssd-advertise-1.1.6.tgz", + "integrity": "sha512-Ndrrf6BMPalkQPd/zubL+4YghH2J9NspapQ09uDXwYbvOPkP0oaqf5CkcwJ0b50kS2O3ul6yVu+jz+RY62Cejg==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/doctrine": { "version": "3.0.0", "dev": true, @@ -22323,7 +25086,6 @@ }, "node_modules/dom-serializer": { "version": "2.0.0", - "dev": true, "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", @@ -22339,7 +25101,6 @@ }, "node_modules/domelementtype": { "version": "2.3.0", - "dev": true, "funding": [ { "type": "github", @@ -22350,7 +25111,6 @@ }, "node_modules/domhandler": { "version": "5.0.3", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" @@ -22364,7 +25124,6 @@ }, "node_modules/domutils": { "version": "3.0.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", @@ -22393,15 +25152,6 @@ "node": ">=6" } }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/dotignore": { "version": "0.1.2", "license": "MIT", @@ -22501,7 +25251,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.673", + "version": "1.5.466", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.466.tgz", + "integrity": "sha512-WkgFvScwZjvCPupYGfQr5qlKCv/Tu+GYELGMCGcoBOQbNb6nx/TqGwJyLMwcNAAy2kKJF2agjM7KZKest538JA==", "license": "ISC" }, "node_modules/elliptic": { @@ -22607,32 +25359,8 @@ "node": ">=10.0.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/entities": { "version": "4.4.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -22641,15 +25369,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/env-editor": { - "version": "0.4.2", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/envinfo": { "version": "7.11.1", "license": "MIT", @@ -22704,12 +25423,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eol": { - "version": "0.9.1", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/err-code": { "version": "3.0.1", "license": "MIT" @@ -22733,46 +25446,37 @@ }, "node_modules/error-stack-parser": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "stackframe": "^1.3.4" } }, - "node_modules/errorhandler": { - "version": "1.5.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/es-abstract": { - "version": "1.23.6", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", + "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.3", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", + "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-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.7", - "get-intrinsic": "^1.2.6", - "get-symbol-description": "^1.0.2", + "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", @@ -22780,31 +25484,36 @@ "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.4", + "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-shared-array-buffer": "^1.0.3", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.0.0", - "object-inspect": "^1.13.3", + "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.3", + "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.3", + "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.0.2", - "which-typed-array": "^1.1.16" + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -22830,7 +25539,9 @@ } }, "node_modules/es-abstract/node_modules/object-inspect": { - "version": "1.13.3", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -22881,25 +25592,28 @@ "license": "MIT" }, "node_modules/es-iterator-helpers": { - "version": "1.0.17", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.4.0.tgz", + "integrity": "sha512-c/A0P0oxkACDc+cKWw8evLXK83oBKgn0qPOqCYT4x9uolpCIJAcYvJC9QYKNDRPsTeGyCrQ326jrvgZWdCdK5Q==", "dev": true, "license": "MIT", "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.22.4", + "es-abstract": "^1.24.2", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", + "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.0" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -22910,7 +25624,9 @@ "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.0.0", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -22920,23 +25636,31 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", + "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==", "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", + "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": { @@ -23053,7 +25777,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "license": "MIT", "engines": { "node": ">=6" @@ -23199,22 +25925,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.8", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-module-utils": { "version": "2.8.0", "dev": true, @@ -23425,37 +26135,43 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "license": "MIT", "peer": true, @@ -23468,6 +26184,8 @@ }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -23479,18 +26197,26 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -23826,7 +26552,7 @@ }, "node_modules/esprima": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", @@ -23883,7 +26609,7 @@ }, "node_modules/esutils": { "version": "2.0.3", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -24313,12 +27039,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/exec-async": { - "version": "2.2.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/exec-sh": { "version": "0.3.6", "dev": true, @@ -24326,7 +27046,7 @@ }, "node_modules/execa": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "cross-spawn": "^6.0.0", @@ -24612,85 +27332,143 @@ } }, "node_modules/expo": { - "version": "50.0.6", + "version": "58.0.20", + "resolved": "https://registry.npmjs.org/expo/-/expo-58.0.20.tgz", + "integrity": "sha512-6fSVY/08Mer8AHVdP4D++MHHUE+Tzug/+RT+QMGopy1+jMw/WO9Dr+F53FCy+N8zV9rXodEK8Tgr4tawEOYICw==", "license": "MIT", "optional": true, "peer": true, "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.17.5", - "@expo/config": "8.5.4", - "@expo/config-plugins": "7.8.4", - "@expo/metro-config": "0.17.4", - "@expo/vector-icons": "^14.0.0", - "babel-preset-expo": "~10.0.1", - "expo-asset": "~9.0.2", - "expo-file-system": "~16.0.6", - "expo-font": "~11.10.2", - "expo-keep-awake": "~12.8.2", - "expo-modules-autolinking": "1.10.3", - "expo-modules-core": "1.11.8", - "fbemitter": "^3.0.0", - "whatwg-url-without-unicode": "8.0.0-3" + "@expo/cli": "^58.1.16", + "@expo/config": "~58.0.8", + "@expo/config-plugins": "~58.0.10", + "@expo/devtools": "~58.0.2", + "@expo/dom-webview": "~58.0.2", + "@expo/fingerprint": "^0.21.7", + "@expo/local-build-cache-provider": "^58.0.8", + "@expo/log-box": "^58.0.13", + "@expo/log-box-utils": "^58.0.2", + "@expo/metro": "~58.0.0", + "@expo/metro-config": "~58.0.18", + "@ungap/structured-clone": "^1.3.0", + "babel-preset-expo": "~58.0.21", + "expo-asset": "~58.0.18", + "expo-constants": "~58.0.13", + "expo-file-system": "~58.0.12", + "expo-font": "~58.0.10", + "expo-keep-awake": "~58.0.3", + "expo-modules-autolinking": "~58.0.15", + "expo-modules-cli": "~0.3.3", + "expo-modules-core": "~58.0.27", + "pretty-format": "^29.7.0", + "react-refresh": "^0.14.2", + "whatwg-url-minimum": "^0.2.0" }, "bin": { - "expo": "bin/cli" + "expo": "bin/cli", + "expo-modules": "bin/modules", + "expo-modules-autolinking": "bin/autolinking", + "fingerprint": "bin/fingerprint" + }, + "engines": { + "node": "^22.13.0 || ^24.3.0 || ^26.0.0 || >=27.0.0" + }, + "peerDependencies": { + "@expo/dom-webview": "*", + "@expo/metro-runtime": "*", + "react": "*", + "react-dom": "*", + "react-native": "*", + "react-native-web": "*", + "react-native-webview": "*" + }, + "peerDependenciesMeta": { + "@expo/dom-webview": { + "optional": true + }, + "@expo/metro-runtime": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native-web": { + "optional": true + }, + "react-native-webview": { + "optional": true + } } }, "node_modules/expo-asset": { - "version": "9.0.2", + "version": "58.0.18", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-58.0.18.tgz", + "integrity": "sha512-Cc49mpDd81hIIKw1DVDkL52a/S6MJlHLA+LirUHNR7qJJfopoHrSypg9rRuqvCUVW7/JKvXKqbFX43NynpVzmg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@react-native/assets-registry": "~0.73.1", - "blueimp-md5": "^2.10.0", - "expo-constants": "~15.4.0", - "expo-file-system": "~16.0.0", - "invariant": "^2.2.4", - "md5-file": "^3.2.3" + "@expo/image-utils": "^0.12.5", + "expo-constants": "~58.0.13" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" } }, "node_modules/expo-constants": { - "version": "15.4.5", + "version": "58.0.13", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-58.0.13.tgz", + "integrity": "sha512-zUj1rcnYg0O2wKF9L32ToEtFujc5OkslZJ4lWeg+fEwoPMLVwldn6kdEkX8zx31KgSwF94Ey1mIFdFX8Brp73Q==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/config": "~8.5.0" + "@expo/env": "~2.5.3", + "@expo/require-utils": "^58.0.4" }, "peerDependencies": { - "expo": "*" + "expo": "*", + "react-native": "*" } }, "node_modules/expo-file-system": { - "version": "16.0.6", + "version": "58.0.12", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-58.0.12.tgz", + "integrity": "sha512-Ytua0iPjhacvM5eEpPFtrc2iWwdcIfQ3s/9ps0awxGCaHs54DI9weo8wPUJImfcKPmiseqVGM4TFg4lHfD0XmQ==", "license": "MIT", "optional": true, "peer": true, "peerDependencies": { - "expo": "*" + "expo": "*", + "react-native": "*" } }, "node_modules/expo-font": { - "version": "11.10.2", + "version": "58.0.10", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-58.0.10.tgz", + "integrity": "sha512-13orvRCiXg3EuirjMznWTKwFzhKHvtHRkUdgbvolbkyA1+EAbYDpp7LJMnvDnbTFU/m8Kb5awvOiaGzPYQ/ojg==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "fontfaceobserver": "^2.1.0" - }, "peerDependencies": { - "expo": "*" + "expo": "*", + "react": "*", + "react-native": "*" } }, "node_modules/expo-keep-awake": { - "version": "12.8.2", + "version": "58.0.3", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-58.0.3.tgz", + "integrity": "sha512-wLRF+XeVsD/Rt/ZyX+A0mk1brdf8vefWizNAPzqV5eOCgkj23LCRZdN8gUi5X8UwyR8UJ7Y7Dzdz4YDGB/4c9Q==", "license": "MIT", "optional": true, "peer": true, "peerDependencies": { - "expo": "*" + "expo": "*", + "react": "*" } }, "node_modules/expo-modules-autolinking": { @@ -24856,13 +27634,70 @@ "node": ">= 10.0.0" } }, + "node_modules/expo-modules-cli": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/expo-modules-cli/-/expo-modules-cli-0.3.3.tgz", + "integrity": "sha512-nz+xyg5AM7eFYHKw3SAoBcyBLqPj7ff1+JZ/bIRsedBlJdDxXyWoIIgn8rB3pk9+2p1KBMsQ7TiORrI6iTJxdw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.20.0", + "arg": "^5.0.2" + }, + "bin": { + "expo-modules": "bin/expo-modules.js" + }, + "engines": { + "node": "^22.13.0 || ^24.3.0 || ^26.0.0 || >=27.0.0" + } + }, "node_modules/expo-modules-core": { - "version": "1.11.8", + "version": "58.0.27", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-58.0.27.tgz", + "integrity": "sha512-/sYuJW9bLkhu3VwUBtUAMLakk0fUtzth6H5o+nub035AHhq5sNA3zG0RHqj2d7GrkmkcATYjUU/5xTRLAMoz0A==", "license": "MIT", "optional": true, "peer": true, "dependencies": { + "expo-modules-jsi": "~58.0.20", + "expo-modules-macros": "0.24.0", "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-worklets": ">=0.13.0" + }, + "peerDependenciesMeta": { + "react-native-worklets": { + "optional": true + } + } + }, + "node_modules/expo-modules-jsi": { + "version": "58.0.20", + "resolved": "https://registry.npmjs.org/expo-modules-jsi/-/expo-modules-jsi-58.0.20.tgz", + "integrity": "sha512-cBS3txcHqMRymzU2r5w24G5iZgGniDJ49Szyg85kd2J4tDr7yzJ95/6GIfjH/DOAGQ004JRU7+MtdhmLGQ9Mzw==", + "license": "MIT", + "optional": true, + "peer": true, + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/expo-modules-macros": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/expo-modules-macros/-/expo-modules-macros-0.24.0.tgz", + "integrity": "sha512-3CnIoiD5ftVxKm/ldEg9OrUubGxX1fPlVrO+hzyWM4xcFpOPGERvBJ4F9IrO4jGXswuME8NvXMmq3GnikZQ0mw==", + "license": "MIT", + "optional": true, + "peer": true, + "optionalDependencies": { + "@expo/modules-macros-linux-arm64": "0.24.0", + "@expo/modules-macros-linux-x64": "0.24.0", + "@expo/modules-macros-win32-arm64": "0.24.0", + "@expo/modules-macros-win32-x64": "0.24.0" } }, "node_modules/expo-random": { @@ -24876,8 +27711,21 @@ "expo": "*" } }, + "node_modules/expo-server": { + "version": "58.0.6", + "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-58.0.6.tgz", + "integrity": "sha512-6DBlSZwxk3J0y1j2s4XebAWNiwGaMp32NcWX7b2kJC2+EFf1g+pCcVmx8ylawt2tyLmbDHswm4MHOfrd4bqfvA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^22.13.0 || ^24.3.0 || ^26.0.0 || >=27.0.0" + } + }, "node_modules/expo/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "peer": true, @@ -24893,6 +27741,8 @@ }, "node_modules/expo/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "peer": true, @@ -24909,6 +27759,8 @@ }, "node_modules/expo/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "peer": true, @@ -24921,12 +27773,16 @@ }, "node_modules/expo/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true, "peer": true }, "node_modules/expo/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==", "license": "MIT", "optional": true, "peer": true, @@ -24935,55 +27791,27 @@ } }, "node_modules/expo/node_modules/expo-modules-autolinking": { - "version": "1.10.3", + "version": "58.0.15", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-58.0.15.tgz", + "integrity": "sha512-eTeWBS2RWdp2V/LlhjI5JI/5ACMfrdOax9iBpOshDOAZHsncbAKN2fkpmvyAtvVbj1DUJ04ejINUTyDDLgo2yg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@expo/config": "~8.5.0", + "@expo/platforms": "^58.0.1", + "@expo/require-utils": "^58.0.4", + "@expo/spawn-async": "^1.8.0", "chalk": "^4.1.0", - "commander": "^7.2.0", - "fast-glob": "^3.2.5", - "find-up": "^5.0.0", - "fs-extra": "^9.1.0" + "commander": "^7.2.0" }, "bin": { "expo-modules-autolinking": "bin/expo-modules-autolinking.js" } }, - "node_modules/expo/node_modules/find-up": { - "version": "5.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/expo/node_modules/fs-extra": { - "version": "9.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/expo/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -24991,50 +27819,48 @@ "node": ">=8" } }, - "node_modules/expo/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/expo/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==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "universalify": "^2.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/expo/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/expo/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==", "license": "MIT", "optional": true, "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/expo/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/expo/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==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "peer": true }, "node_modules/expo/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, @@ -25045,14 +27871,12 @@ "node": ">=8" } }, - "node_modules/expo/node_modules/universalify": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 10.0.0" - } + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0", + "peer": true }, "node_modules/express": { "version": "4.18.2", @@ -25305,28 +28129,6 @@ "punycode": "^1.3.2" } }, - "node_modules/fast-xml-parser": { - "version": "4.3.4", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "license": "MIT", @@ -25357,44 +28159,26 @@ "node": ">=0.8.0" } }, + "node_modules/fb-dotslash": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz", + "integrity": "sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==", + "license": "(MIT OR Apache-2.0)", + "peer": true, + "bin": { + "dotslash": "bin/dotslash" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", - "devOptional": true, "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, - "node_modules/fbemitter": { - "version": "3.0.0", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.5", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/fecha": { "version": "4.2.3", "license": "MIT" @@ -25421,8 +28205,10 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/fetch-retry": { - "version": "4.1.1", + "node_modules/fetch-nodeshim": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/fetch-nodeshim/-/fetch-nodeshim-0.4.10.tgz", + "integrity": "sha512-m6I8ALe4L4XpdETy7MJZWs6L1IVMbjs99bwbpIKphxX+0CTns4IKDWJY0LWfr4YsFjfg+z1TjzTMU8lKl8rG0w==", "license": "MIT", "optional": true, "peer": true @@ -25519,7 +28305,7 @@ }, "node_modules/find-cache-dir": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "commondir": "^1.0.1", @@ -25607,15 +28393,30 @@ }, "node_modules/flow-enums-runtime": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", "license": "MIT", - "optional": true, "peer": true }, + "node_modules/flow-estree": { + "version": "0.327.0", + "resolved": "https://registry.npmjs.org/flow-estree/-/flow-estree-0.327.0.tgz", + "integrity": "sha512-f9vK751YUzD0qaHSpKc5/qQM6gqOlgGS+4ZRqTNcZOpVqn3mC55yEQ6dUG2K1eaVm5FbKkz9CFWe6XNvrkQFQg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, "node_modules/flow-parser": { - "version": "0.206.0", + "version": "0.327.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.327.0.tgz", + "integrity": "sha512-/MYZ5hXWf5ozpbdfUDmazMgQXviLxWEiRLH3MppEGDdW0itRVqmB5UaU7QX+SBCDNiq+gEesSVn8nlxmPDyDkw==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "flow-estree": "0.327.0" + }, "engines": { "node": ">=0.4.0" } @@ -25642,17 +28443,19 @@ } } }, - "node_modules/fontfaceobserver": { - "version": "2.3.0", - "license": "BSD-2-Clause", - "optional": true, - "peer": true - }, "node_modules/for-each": { - "version": "0.3.3", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "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": { @@ -25729,15 +28532,6 @@ "node": ">=0.10.0" } }, - "node_modules/freeport-async": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/fresh": { "version": "0.5.2", "license": "MIT", @@ -25745,20 +28539,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-extra": { - "version": "8.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs-minipass": { "version": "1.2.7", "license": "ISC", @@ -25788,14 +28568,20 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.7", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -25817,7 +28603,6 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "devOptional": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -25828,19 +28613,21 @@ "license": "ISC" }, "node_modules/get-intrinsic": { - "version": "1.2.6", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "dunder-proto": "^1.0.0", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.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.0.0" + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -25849,6 +28636,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/get-package-type": { "version": "0.1.0", "license": "MIT", @@ -25856,13 +28652,17 @@ "node": ">=8.0.0" } }, - "node_modules/get-port": { - "version": "3.2.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==", "license": "MIT", - "optional": true, - "peer": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, "node_modules/get-stdin": { @@ -25875,7 +28675,7 @@ }, "node_modules/get-stream": { "version": "4.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -25885,12 +28685,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.2", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "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" @@ -25908,7 +28710,9 @@ } }, "node_modules/getenv": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz", + "integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==", "license": "MIT", "optional": true, "peer": true, @@ -26008,14 +28812,6 @@ "node": ">=10" } }, - "node_modules/globals": { - "version": "11.12.0", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/globals-docs": { "version": "2.4.1", "dev": true, @@ -26037,7 +28833,7 @@ }, "node_modules/globby": { "version": "11.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "array-union": "^2.1.0", @@ -26115,36 +28911,6 @@ "dev": true, "license": "MIT" }, - "node_modules/graphql": { - "version": "16.8.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/graphql-tag/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD", - "optional": true, - "peer": true - }, "node_modules/handle-thing": { "version": "2.0.1", "dev": true, @@ -26395,7 +29161,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -26555,40 +29323,30 @@ "he": "bin/he" } }, - "node_modules/hermes-estree": { - "version": "0.15.0", + "node_modules/hermes-compiler": { + "version": "260318099.0.5", + "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-260318099.0.5.tgz", + "integrity": "sha512-4Gze+pGTGTUBRmnv6LtdOMo6ZzMMh3hEkvDiWzvuNL5LM0EO5YGhr8xh3fRjFaEqReUwEGjJGcGgEPFe9+E6Gw==", "license": "MIT", - "optional": true, "peer": true }, - "node_modules/hermes-parser": { - "version": "0.15.0", + "node_modules/hermes-estree": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.1.tgz", + "integrity": "sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "hermes-estree": "0.15.0" - } + "peer": true }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", + "node_modules/hermes-parser": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.1.tgz", + "integrity": "sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/hermes-profile-transformer/node_modules/source-map": { - "version": "0.7.4", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">= 8" + "hermes-estree": "0.36.1" } }, "node_modules/hmac-drbg": { @@ -26803,7 +29561,7 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=10.17.0" @@ -26949,21 +29707,6 @@ "dev": true, "license": "ISC" }, - "node_modules/image-size": { - "version": "1.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, "node_modules/immediate": { "version": "3.0.6", "license": "MIT" @@ -27028,7 +29771,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -27036,18 +29779,12 @@ }, "node_modules/indent-string": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/inflight": { "version": "1.0.6", "license": "ISC", @@ -27082,32 +29819,6 @@ "dev": true, "license": "MIT" }, - "node_modules/internal-ip": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/default-gateway": { - "version": "4.2.0", - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/internal-slot": { "version": "1.1.0", "license": "MIT", @@ -27130,7 +29841,6 @@ "node_modules/invariant": { "version": "2.2.4", "license": "MIT", - "optional": true, "dependencies": { "loose-envify": "^1.0.0" } @@ -27165,21 +29875,6 @@ "url": "https://opencollective.com/ioredis" } }, - "node_modules/ip": { - "version": "1.1.8", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "license": "MIT", @@ -27234,11 +29929,14 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", + "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==", "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" @@ -27354,10 +30052,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.17.0.tgz", + "integrity": "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==", "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -27376,6 +30079,8 @@ }, "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==", "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -27418,7 +30123,7 @@ }, "node_modules/is-directory": { "version": "0.3.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -27437,6 +30142,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extendable": { "version": "1.0.1", "dev": true, @@ -27557,48 +30277,6 @@ "is-finite": "^1.0.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-invalid-path": { - "version": "0.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "is-glob": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-extglob": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-glob": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-map": { "version": "2.0.3", "license": "MIT", @@ -27659,18 +30337,9 @@ "node": ">=8" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -27732,10 +30401,12 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", + "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==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -27794,10 +30465,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -27821,34 +30494,10 @@ "node": ">=0.10.0" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-utf8": { "version": "0.2.1", "license": "MIT" }, - "node_modules/is-valid-path": { - "version": "0.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "is-invalid-path": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-weakmap": { "version": "2.0.2", "license": "MIT", @@ -27860,10 +30509,12 @@ } }, "node_modules/is-weakref": { - "version": "1.1.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -27984,7 +30635,6 @@ } ], "license": "MIT", - "peer": true, "peerDependencies": { "ws": "*" } @@ -28108,15 +30758,21 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.2", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/jake": { @@ -29377,7 +32033,7 @@ }, "node_modules/jest-environment-node": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", @@ -29393,7 +32049,7 @@ }, "node_modules/jest-environment-node/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -29409,7 +32065,7 @@ }, "node_modules/jest-environment-node/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -29417,7 +32073,7 @@ }, "node_modules/jest-environment-node/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -29431,7 +32087,7 @@ }, "node_modules/jest-environment-node/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -29446,7 +32102,7 @@ }, "node_modules/jest-environment-node/node_modules/ci-info": { "version": "3.9.0", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -29460,7 +32116,7 @@ }, "node_modules/jest-environment-node/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -29471,12 +32127,12 @@ }, "node_modules/jest-environment-node/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/jest-environment-node/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -29484,7 +32140,7 @@ }, "node_modules/jest-environment-node/node_modules/jest-util": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -29500,7 +32156,7 @@ }, "node_modules/jest-environment-node/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -29918,7 +32574,6 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", - "devOptional": true, "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -30154,7 +32809,7 @@ }, "node_modules/jest-message-util": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -30173,7 +32828,7 @@ }, "node_modules/jest-message-util/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -30189,7 +32844,7 @@ }, "node_modules/jest-message-util/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -30197,7 +32852,7 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -30211,7 +32866,7 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -30226,7 +32881,7 @@ }, "node_modules/jest-message-util/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -30237,12 +32892,12 @@ }, "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -30250,7 +32905,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -30263,7 +32918,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -30274,12 +32929,12 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.2.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -30290,7 +32945,7 @@ }, "node_modules/jest-mock": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -30303,7 +32958,7 @@ }, "node_modules/jest-mock/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -30319,7 +32974,7 @@ }, "node_modules/jest-mock/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -30327,7 +32982,7 @@ }, "node_modules/jest-mock/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -30341,7 +32996,7 @@ }, "node_modules/jest-mock/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -30356,7 +33011,7 @@ }, "node_modules/jest-mock/node_modules/ci-info": { "version": "3.9.0", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -30370,7 +33025,7 @@ }, "node_modules/jest-mock/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -30381,12 +33036,12 @@ }, "node_modules/jest-mock/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/jest-mock/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -30394,7 +33049,7 @@ }, "node_modules/jest-mock/node_modules/jest-util": { "version": "29.7.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -30410,7 +33065,7 @@ }, "node_modules/jest-mock/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -31520,7 +34175,6 @@ }, "node_modules/jest-validate": { "version": "29.7.0", - "devOptional": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -31536,7 +34190,6 @@ }, "node_modules/jest-validate/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -31552,7 +34205,6 @@ }, "node_modules/jest-validate/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -31560,7 +34212,6 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -31574,7 +34225,6 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -31585,7 +34235,6 @@ }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -31600,7 +34249,6 @@ }, "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -31611,12 +34259,10 @@ }, "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, "license": "MIT" }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -31624,7 +34270,6 @@ }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "29.7.0", - "devOptional": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -31637,7 +34282,6 @@ }, "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -31648,12 +34292,10 @@ }, "node_modules/jest-validate/node_modules/react-is": { "version": "18.2.0", - "devOptional": true, "license": "MIT" }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -31800,7 +34442,6 @@ }, "node_modules/jest-worker": { "version": "29.7.0", - "devOptional": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -31814,7 +34455,6 @@ }, "node_modules/jest-worker/node_modules/@jest/types": { "version": "29.6.3", - "devOptional": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -31830,7 +34470,6 @@ }, "node_modules/jest-worker/node_modules/@types/yargs": { "version": "17.0.32", - "devOptional": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -31838,7 +34477,6 @@ }, "node_modules/jest-worker/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -31852,7 +34490,6 @@ }, "node_modules/jest-worker/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -31867,7 +34504,6 @@ }, "node_modules/jest-worker/node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -31878,7 +34514,6 @@ }, "node_modules/jest-worker/node_modules/ci-info": { "version": "3.9.0", - "devOptional": true, "funding": [ { "type": "github", @@ -31892,7 +34527,6 @@ }, "node_modules/jest-worker/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -31903,12 +34537,10 @@ }, "node_modules/jest-worker/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, "license": "MIT" }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -31916,7 +34548,6 @@ }, "node_modules/jest-worker/node_modules/jest-util": { "version": "29.7.0", - "devOptional": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -31932,7 +34563,6 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -32034,6 +34664,8 @@ }, "node_modules/jimp-compact": { "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", + "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", "license": "MIT", "optional": true, "peer": true @@ -32045,25 +34677,6 @@ "node": ">= 0.6.0" } }, - "node_modules/joi": { - "version": "17.12.1", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "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/join-component": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/jose": { "version": "4.15.4", "license": "MIT", @@ -32095,12 +34708,11 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "devOptional": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -32114,174 +34726,23 @@ "version": "0.1.1", "license": "MIT" }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "license": "BSD-2-Clause", - "optional": true, - "peer": true - }, "node_modules/jsc-safe-url": { "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", "license": "0BSD", - "optional": true, - "peer": true - }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/ast-types": { - "version": "0.15.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/recast": { - "version": "0.21.5", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD", - "optional": true, "peer": true }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "node_modules/jsesc": { - "version": "2.5.2", - "devOptional": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -32290,7 +34751,7 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -32309,42 +34770,6 @@ "version": "0.4.0", "license": "(AFL-2.1 OR BSD-3-Clause)" }, - "node_modules/json-schema-deref-sync": { - "version": "0.13.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "clone": "^2.1.2", - "dag-map": "~1.0.0", - "is-valid-path": "^0.1.1", - "lodash": "^4.17.13", - "md5": "~2.2.0", - "memory-cache": "~0.2.0", - "traverse": "~0.6.6", - "valid-url": "~1.0.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/json-schema-deref-sync/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/json-schema-deref-sync/node_modules/md5": { - "version": "2.2.1", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "dependencies": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "license": "MIT" @@ -32388,7 +34813,6 @@ }, "node_modules/json5": { "version": "2.2.3", - "devOptional": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -32811,6 +35235,17 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/lan-network": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/lan-network/-/lan-network-0.2.1.tgz", + "integrity": "sha512-ONPnazC96VKDntab9j9JKwIWhZ4ZUceB4A9Epu4Ssg0hYFmtHZSeQ+n15nIwTFmcBUKtExOer8WTJ4GF9MO64A==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "lan-network": "dist/lan-network-cli.js" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "dev": true, @@ -32965,7 +35400,6 @@ }, "node_modules/leven": { "version": "3.1.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -33001,59 +35435,188 @@ "immediate": "~3.0.5" } }, - "node_modules/lighthouse-logger": { - "version": "1.4.2", - "license": "Apache-2.0", + "node_modules/lightningcss": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", + "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", + "license": "MPL-2.0", "optional": true, "peer": true, "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.33.0", + "lightningcss-darwin-arm64": "1.33.0", + "lightningcss-darwin-x64": "1.33.0", + "lightningcss-freebsd-x64": "1.33.0", + "lightningcss-linux-arm-gnueabihf": "1.33.0", + "lightningcss-linux-arm64-gnu": "1.33.0", + "lightningcss-linux-arm64-musl": "1.33.0", + "lightningcss-linux-x64-gnu": "1.33.0", + "lightningcss-linux-x64-musl": "1.33.0", + "lightningcss-win32-arm64-msvc": "1.33.0", + "lightningcss-win32-x64-msvc": "1.33.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", + "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", + "node_modules/lightningcss-darwin-arm64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", + "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", "optional": true, + "os": [ + "darwin" + ], "peer": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", + "node_modules/lightningcss-darwin-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", + "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", "optional": true, - "peer": true + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, - "node_modules/lightningcss": { - "version": "1.19.0", + "node_modules/lightningcss-freebsd-x64": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", + "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", + "cpu": [ + "x64" + ], "license": "MPL-2.0", "optional": true, + "os": [ + "freebsd" + ], "peer": true, - "dependencies": { - "detect-libc": "^1.0.3" + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", + "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", + "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { "node": ">= 12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", + "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.19.0", - "lightningcss-darwin-x64": "1.19.0", - "lightningcss-linux-arm-gnueabihf": "1.19.0", - "lightningcss-linux-arm64-gnu": "1.19.0", - "lightningcss-linux-arm64-musl": "1.19.0", - "lightningcss-linux-x64-gnu": "1.19.0", - "lightningcss-linux-x64-musl": "1.19.0", - "lightningcss-win32-x64-msvc": "1.19.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.19.0", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", + "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", "cpu": [ "x64" ], @@ -33072,7 +35635,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.19.0", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", + "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", "cpu": [ "x64" ], @@ -33090,6 +35655,48 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", + "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", + "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "2.0.6", "dev": true, @@ -33100,7 +35707,7 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/linkify-it": { @@ -33604,8 +36211,9 @@ }, "node_modules/lodash.throttle": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/lodash.uniqby": { @@ -33622,89 +36230,17 @@ } }, "node_modules/log-symbols": { - "version": "4.1.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "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", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "chalk": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/log-update": { @@ -33876,178 +36412,6 @@ "triple-beam": "^1.3.0" } }, - "node_modules/logkitty": { - "version": "0.7.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "bin": { - "logkitty": "bin/logkitty.js" - } - }, - "node_modules/logkitty/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/logkitty/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/logkitty/node_modules/cliui": { - "version": "6.0.0", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/logkitty/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/logkitty/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/logkitty/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/logkitty/node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", - "optional": true, - "peer": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/logkitty/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/require-main-filename": { - "version": "2.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, - "node_modules/logkitty/node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/wrap-ansi": { - "version": "6.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/yargs": { - "version": "15.4.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/logkitty/node_modules/yargs-parser": { - "version": "18.1.3", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/loglevel": { "version": "1.9.1", "license": "MIT", @@ -34082,7 +36446,6 @@ }, "node_modules/loose-envify": { "version": "1.4.0", - "devOptional": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -34107,7 +36470,6 @@ }, "node_modules/lru-cache": { "version": "5.1.1", - "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -34128,7 +36490,7 @@ }, "node_modules/make-dir": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "pify": "^4.0.1", @@ -34140,7 +36502,7 @@ }, "node_modules/make-dir/node_modules/pify": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -34148,7 +36510,7 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "5.7.1", - "devOptional": true, + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver" @@ -34229,14 +36591,10 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/marky": { - "version": "1.2.5", - "license": "Apache-2.0", - "optional": true, - "peer": true - }, "node_modules/math-intrinsics": { - "version": "1.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -34246,32 +36604,6 @@ "version": "1.0.4", "license": "MIT" }, - "node_modules/md5": { - "version": "2.3.0", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "node_modules/md5-file": { - "version": "3.2.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer-alloc": "^1.1.0" - }, - "bin": { - "md5-file": "cli.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/md5.js": { "version": "1.3.5", "license": "MIT", @@ -34281,18 +36613,6 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/md5/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/md5hex": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/mdast-util-definitions": { "version": "5.1.2", "dev": true, @@ -34572,6 +36892,13 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0", + "peer": true + }, "node_modules/mdurl": { "version": "1.0.1", "dev": true, @@ -34645,14 +36972,9 @@ }, "node_modules/memoize-one": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/memory-cache": { - "version": "0.2.0", - "license": "BSD-2-Clause", - "optional": true, "peer": true }, "node_modules/memory-fs": { @@ -34733,362 +37055,394 @@ } }, "node_modules/metro": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.87.1.tgz", + "integrity": "sha512-1oyLU9elM7hPAsKIqKooEekwxiuWr27+MZBhUROPhzcbXhMDxK64GPF/hCXwBZVp1F89ODavCrBmJtLx9WtBoQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", + "@babel/code-frame": "^7.29.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "accepts": "^2.0.0", "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", + "debug": "^4.4.0", "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "flow-parser": "0.331.0", "graceful-fs": "^4.2.4", - "hermes-parser": "0.19.1", - "image-size": "^1.0.2", "invariant": "^2.2.4", - "jest-worker": "^29.6.3", + "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-config": "0.80.6", - "metro-core": "0.80.6", - "metro-file-map": "0.80.6", - "metro-resolver": "0.80.6", - "metro-runtime": "0.80.6", - "metro-source-map": "0.80.6", - "metro-symbolicate": "0.80.6", - "metro-transform-plugins": "0.80.6", - "metro-transform-worker": "0.80.6", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", + "metro-babel-transformer": "0.87.1", + "metro-cache": "0.87.1", + "metro-cache-key": "0.87.1", + "metro-config": "0.87.1", + "metro-core": "0.87.1", + "metro-file-map": "0.87.1", + "metro-resolver": "0.87.1", + "metro-runtime": "0.87.1", + "metro-source-map": "0.87.1", + "metro-symbolicate": "0.87.1", + "metro-transform-plugins": "0.87.1", + "metro-transform-worker": "0.87.1", + "mime-types": "^3.0.1", "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", "serialize-error": "^2.1.0", "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", "throat": "^5.0.0", - "ws": "^7.5.1", + "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-babel-transformer": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.87.1.tgz", + "integrity": "sha512-orvRIGpb0yK1yMbk5YP3dhVKjmoxUkRB9fdltGJxNppEqus/1tFpNuf9KnGFR3Qjg0izoUrJ4z6WgoBvdkXPrA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.19.1", + "@babel/core": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "flow-parser": "0.331.0", + "metro-cache-key": "0.87.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.19.1", + "node_modules/metro-babel-transformer/node_modules/flow-estree": { + "version": "0.331.0", + "resolved": "https://registry.npmjs.org/flow-estree/-/flow-estree-0.331.0.tgz", + "integrity": "sha512-FVLYkSL/ITb/QXBEQvNWPjPooRGswuUtGOwrH+puSlMDneNkxy640+FZsk/TfKL+b7Wbw/Fg9FTUv2bMQDpj2w==", "license": "MIT", - "optional": true, - "peer": true + "peer": true, + "engines": { + "node": ">=18" + } }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.19.1", + "node_modules/metro-babel-transformer/node_modules/flow-parser": { + "version": "0.331.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.331.0.tgz", + "integrity": "sha512-vEZcHIlnKeN8JSVtYFczj8sWJfHIJOkz+YG00O/oul/Bete+t1ZhTi+O6JRRLFYvGW+yJkZ0YgL16iStnbkUqQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "hermes-estree": "0.19.1" + "flow-estree": "0.331.0" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/metro-cache": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.87.1.tgz", + "integrity": "sha512-juNPaj0Xi5tkLp8imXqvbSnEIijwKG36m7OiFFVJMqEkiURwAjkMFVek3/xpix1+LVQqO7kjVp3PvuvIM61mKQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "metro-core": "0.80.6", - "rimraf": "^3.0.2" + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "https-proxy-agent": "^7.0.5", + "metro-core": "0.87.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-cache-key": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.87.1.tgz", + "integrity": "sha512-scqVVPMA2c+RVO12I3wyMDp5xCkRPLsyrcG4Qc3xfU5JR0EW/0sz2tjty+5UjMUtG09uiM1KYQ8HjWg7OQXHtw==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/metro-cache/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "optional": true, + "node_modules/metro-cache/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==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/metro-cache/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==", + "license": "MIT", "peer": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "agent-base": "^7.1.2", + "debug": "4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 14" } }, "node_modules/metro-config": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.87.1.tgz", + "integrity": "sha512-NmkDlc/qZAdo5gTkVTuO2AKE/khemRKRH5IA+SKfqUBJigI5GqZ5TOXhmEokhlkAqzjt8dyzKhzI6FHvXoXaTQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.6.3", - "metro": "0.80.6", - "metro-cache": "0.80.6", - "metro-core": "0.80.6", - "metro-runtime": "0.80.6" + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.7.0", + "metro": "0.87.1", + "metro-cache": "0.87.1", + "metro-core": "0.87.1", + "metro-runtime": "0.87.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-core": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.87.1.tgz", + "integrity": "sha512-xizzky/4+c/Mkznege8OW05j7bSdM39VPoEps61Se4+hf32UQujmbvLvIE9+UnP6kNEPVomk0Fw8NsBK9iRQmw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { + "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.6" + "metro-resolver": "0.87.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-file-map": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.87.1.tgz", + "integrity": "sha512-9sPuNCojC3pS4vj+ZPY7FXmHGpdJeckXuKXQrDAfJvZc60AF8owRFTkI8XdwlwrmPIB2w++KraK9FMEXvC4wJw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", + "debug": "^4.4.0", "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", - "jest-worker": "^29.6.3", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/metro-minify-terser": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.87.1.tgz", + "integrity": "sha512-YK4k1oO1wV48hfE+Nbw2rJCnAgeabzrgT/xH5ha5n9gbK4p3HYFC898cERUiyTl9vRh58CNTiXRc88f7y6PfKg==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { + "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-resolver": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.87.1.tgz", + "integrity": "sha512-FXH/brY69wT6sPxaSW8BhMmDGD/6irmBr/cL4rUi+VWwqR3pbvdcfUOfyjcHucgQ7pe5IW3xJY21eHKLVKNumQ==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-runtime": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.87.1.tgz", + "integrity": "sha512-kjeuSvInsM6OzBjkCQsWxnkrKZFMKtnkCl38oXWRI9lDGs2L9hGs9Tak9sQYJ9h3gtDujneB7wZio+irgqJKDw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/runtime": "^7.0.0" + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-source-map": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.87.1.tgz", + "integrity": "sha512-Bqpm0PBGdy53pigIJb4HRF7QxD2pUOdgSmVh/4AWbP635kSCv+Y6ltVxUZgSnzS/QbSmzyCGijmRPlXMj2/qHw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-symbolicate": "0.80.6", + "metro-symbolicate": "0.87.1", "nullthrows": "^1.1.1", - "ob1": "0.80.6", + "ob1": "0.87.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-source-map/node_modules/source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", - "optional": true, "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/metro-symbolicate": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.87.1.tgz", + "integrity": "sha512-rcGvwabrg0lbXGRGRKl14PY3My3+dkno2jZYhdJEuH2DmjTtTkV5bYwgto4JtV/Lbe+sXE6GO1UGg654430uow==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { + "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-source-map": "0.80.6", + "metro-source-map": "0.87.1", "nullthrows": "^1.1.1", "source-map": "^0.5.6", - "through2": "^2.0.1", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-symbolicate/node_modules/source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", - "optional": true, "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/metro-transform-plugins": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.87.1.tgz", + "integrity": "sha512-qMiJ/x+VfqumFJJSefKS6nj8uojzC29b2/aK8vlMuFABIqGjDucICEOXd2Yt6k/XMFAgAcaJvShUOT0HLyYaPw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/metro-transform-worker": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.87.1.tgz", + "integrity": "sha512-VOzs3OV405FuOLYdAhqA2wsn1F9lvueDVxMDLvCKaQ44U+yknIqphJ9eMjjsGwLDZiJq9sW3DMLhjD27JxQgqQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "metro": "0.80.6", - "metro-babel-transformer": "0.80.6", - "metro-cache": "0.80.6", - "metro-cache-key": "0.80.6", - "metro-minify-terser": "0.80.6", - "metro-source-map": "0.80.6", - "metro-transform-plugins": "0.80.6", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "flow-enums-runtime": "^0.0.6", + "metro": "0.87.1", + "metro-babel-transformer": "0.87.1", + "metro-cache": "0.87.1", + "metro-cache-key": "0.87.1", + "metro-minify-terser": "0.87.1", + "metro-source-map": "0.87.1", + "metro-transform-plugins": "0.87.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/metro/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", + "node_modules/metro/node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.6" } }, "node_modules/metro/node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "license": "ISC", - "optional": true, "peer": true, "dependencies": { "string-width": "^4.2.0", @@ -35099,106 +37453,144 @@ "node": ">=12" } }, - "node_modules/metro/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/metro/node_modules/content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/metro/node_modules/debug": { - "version": "2.6.9", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/metro/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT", - "optional": true, "peer": true }, + "node_modules/metro/node_modules/flow-estree": { + "version": "0.331.0", + "resolved": "https://registry.npmjs.org/flow-estree/-/flow-estree-0.331.0.tgz", + "integrity": "sha512-FVLYkSL/ITb/QXBEQvNWPjPooRGswuUtGOwrH+puSlMDneNkxy640+FZsk/TfKL+b7Wbw/Fg9FTUv2bMQDpj2w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro/node_modules/flow-parser": { + "version": "0.331.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.331.0.tgz", + "integrity": "sha512-vEZcHIlnKeN8JSVtYFczj8sWJfHIJOkz+YG00O/oul/Bete+t1ZhTi+O6JRRLFYvGW+yJkZ0YgL16iStnbkUqQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-estree": "0.331.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/metro/node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/metro/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/metro/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">=8" } }, - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.19.1", + "node_modules/metro/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.19.1", - "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "hermes-estree": "0.19.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/metro/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/metro/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "mime-db": "^1.54.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/metro/node_modules/ms": { - "version": "2.0.0", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT", - "optional": true, "peer": true }, - "node_modules/metro/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", - "optional": true, + "node_modules/metro/node_modules/negotiator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz", + "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==", + "license": "MIT", "peer": true, "dependencies": { - "glob": "^7.1.3" + "content-type": "^2.1.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/metro/node_modules/serialize-error": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -35206,8 +37598,9 @@ }, "node_modules/metro/node_modules/source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", - "optional": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -35215,8 +37608,9 @@ }, "node_modules/metro/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -35229,8 +37623,9 @@ }, "node_modules/metro/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "ansi-regex": "^5.0.1" @@ -35239,22 +37634,11 @@ "node": ">=8" } }, - "node_modules/metro/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/metro/node_modules/ws": { - "version": "7.5.9", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">=8.3.0" @@ -35274,17 +37658,19 @@ }, "node_modules/metro/node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/metro/node_modules/yargs": { - "version": "17.7.2", + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "cliui": "^8.0.1", @@ -35301,8 +37687,9 @@ }, "node_modules/metro/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": ">=12" @@ -35889,6 +38276,8 @@ }, "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==", "license": "MIT", "optional": true, "peer": true, @@ -35942,96 +38331,6 @@ "yallist": "^3.0.0" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/minizlib": { "version": "1.3.3", "license": "MIT", @@ -36472,58 +38771,13 @@ "buffer": "^5.5.0" } }, - "node_modules/mv": { - "version": "2.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/mv/node_modules/glob": { - "version": "6.0.4", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mv/node_modules/rimraf": { - "version": "2.4.5", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "glob": "^6.0.1" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/mz": { - "version": "2.7.0", + "node_modules/multitars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/multitars/-/multitars-1.0.2.tgz", + "integrity": "sha512-6GwVw5eLi9sThdtlS4PKwC7yRLaf45pYhIEzKBHdKxi+YOXGKFX8acIniH+Uh/+k9mS2lQOupTccjoe5r0/1IQ==", "license": "MIT", "optional": true, - "peer": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } + "peer": true }, "node_modules/nan": { "version": "2.17.0", @@ -36533,6 +38787,25 @@ "version": "0.1.2", "license": "MIT" }, + "node_modules/nanoid": { + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "optional": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "dev": true, @@ -36559,15 +38832,6 @@ "dev": true, "license": "MIT" }, - "node_modules/ncp": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "ncp": "bin/ncp" - } - }, "node_modules/nearley": { "version": "2.20.1", "dev": true, @@ -36872,52 +39136,19 @@ "node": ">=0.10.0" } }, - "node_modules/nested-error-stacks": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/next-tick": { "version": "1.1.0", "license": "ISC" }, "node_modules/nice-try": { "version": "1.0.5", - "devOptional": true, + "dev": true, "license": "MIT" }, - "node_modules/nocache": { - "version": "3.0.4", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/node-addon-api": { "version": "2.0.2", "license": "MIT" }, - "node_modules/node-dir": { - "version": "0.1.17", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, "node_modules/node-domexception": { "version": "1.0.0", "funding": [ @@ -36953,6 +39184,26 @@ "semver": "bin/semver" } }, + "node_modules/node-exports-info": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", + "integrity": "sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "license": "MIT", @@ -36988,7 +39239,9 @@ } }, "node_modules/node-forge": { - "version": "1.3.1", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.2.tgz", + "integrity": "sha512-rRtAR5XLJ8gCKd9du4qrKAsgCG1ObGP4gLeNJMa4vYSeq4bmBMOJk5IHkrviBV0q7uoAJlVd8HEQYQSVUb4FGQ==", "devOptional": true, "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -37006,24 +39259,15 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "devOptional": true, "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.14", - "license": "MIT" - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", + "version": "2.0.60", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.60.tgz", + "integrity": "sha512-OmO8+GM1JUZqXET720VrJCwkjUCXmCMQm0Z3UDDRbfNLHS4NEAvY60j5jiFv0tkKw2PNNlqOLhahVmwJIOLDIQ==", "license": "MIT", - "optional": true, - "peer": true, "engines": { - "node": ">=0.12.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" + "node": ">=18" } }, "node_modules/nodemon": { @@ -37158,7 +39402,7 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -37174,60 +39418,87 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-package-arg": { - "version": "7.0.0", - "license": "ISC", + "node_modules/noxcturnal": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/noxcturnal/-/noxcturnal-0.1.11.tgz", + "integrity": "sha512-nKgZ4mQpWz5Nry5KRqRcyCv37Uc24VH9UkNsIJJ58sC7ubyXtaiP4zfjOAsGiTVZIJ6rcfkmbYS0P4plVhdHEQ==", + "license": "MIT", "optional": true, "peer": true, "dependencies": { - "hosted-git-info": "^3.0.2", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" + "@babel/code-frame": "^7.20.0", + "@oxc-project/types": "0.154.0" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@noxcturnal/noxcturnal-darwin-arm64": "0.1.11", + "@noxcturnal/noxcturnal-darwin-x64": "0.1.11", + "@noxcturnal/noxcturnal-linux-arm64-gnu": "0.1.11", + "@noxcturnal/noxcturnal-linux-arm64-musl": "0.1.11", + "@noxcturnal/noxcturnal-linux-x64-gnu": "0.1.11", + "@noxcturnal/noxcturnal-linux-x64-musl": "0.1.11", + "@noxcturnal/noxcturnal-win32-arm64-msvc": "0.1.11", + "@noxcturnal/noxcturnal-win32-x64-msvc": "0.1.11" } }, - "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "3.0.8", + "node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", "license": "ISC", "optional": true, "peer": true, "dependencies": { - "lru-cache": "^6.0.0" + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-package-arg/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/npm-package-arg/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==", "license": "ISC", "optional": true, "peer": true, "dependencies": { - "yallist": "^4.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/npm-package-arg/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==", + "license": "ISC", + "optional": true, + "peer": true + }, "node_modules/npm-package-arg/node_modules/semver": { - "version": "5.7.2", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "optional": true, "peer": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/npm-package-arg/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/npm-run-path": { "version": "2.0.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "path-key": "^2.0.0" @@ -37238,7 +39509,6 @@ }, "node_modules/nth-check": { "version": "2.1.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" @@ -37249,8 +39519,9 @@ }, "node_modules/nullthrows": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/number-is-nan": { @@ -37284,12 +39555,16 @@ } }, "node_modules/ob1": { - "version": "0.80.6", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.87.1.tgz", + "integrity": "sha512-i8iA8uij0g1YQzS8uOJPSRCgwDjO9warIHUAu1Fqj877Wc3wlfxDYBioYWgKTBF2+URVJttyDWSEpmd99nlvtQ==", "license": "MIT", - "optional": true, "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, "node_modules/object-assign": { @@ -37422,12 +39697,16 @@ } }, "node_modules/object.assign": { - "version": "4.1.5", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "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": { @@ -37438,26 +39717,32 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -37496,19 +39781,6 @@ "es-errors": "^1.0.0" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.pick": { "version": "1.3.0", "dev": true, @@ -37521,13 +39793,16 @@ } }, "node_modules/object.values": { - "version": "1.1.7", + "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.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -37582,6 +39857,8 @@ }, "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==", "license": "MIT", "optional": true, "peer": true, @@ -37646,6 +39923,8 @@ }, "node_modules/ora": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "license": "MIT", "optional": true, "peer": true, @@ -37663,6 +39942,8 @@ }, "node_modules/ora/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==", "license": "MIT", "optional": true, "peer": true, @@ -37670,20 +39951,10 @@ "node": ">=6" } }, - "node_modules/ora/node_modules/log-symbols": { - "version": "2.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/ora/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==", "license": "MIT", "optional": true, "peer": true, @@ -37694,15 +39965,6 @@ "node": ">=6" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-locale": { "version": "3.1.0", "dev": true, @@ -37723,16 +39985,6 @@ "node": ">=0.10.0" } }, - "node_modules/osenv": { - "version": "0.1.5", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "node_modules/output-file-sync": { "version": "1.1.2", "dev": true, @@ -37743,6 +39995,24 @@ "object-assign": "^4.1.0" } }, + "node_modules/own-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.2.tgz", + "integrity": "sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/ox": { "version": "0.1.2", "funding": [ @@ -37752,7 +40022,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@adraffy/ens-normalize": "^1.10.1", "@noble/curves": "^1.6.0", @@ -37774,7 +40043,6 @@ "node_modules/ox/node_modules/@noble/curves": { "version": "1.7.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/hashes": "1.6.0" }, @@ -37788,7 +40056,6 @@ "node_modules/ox/node_modules/@noble/curves/node_modules/@noble/hashes": { "version": "1.6.0", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -37799,7 +40066,6 @@ "node_modules/ox/node_modules/@noble/hashes": { "version": "1.6.1", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -37810,7 +40076,6 @@ "node_modules/ox/node_modules/@scure/base": { "version": "1.2.1", "license": "MIT", - "peer": true, "funding": { "url": "https://paulmillr.com/funding/" } @@ -37818,7 +40083,6 @@ "node_modules/ox/node_modules/@scure/bip32": { "version": "1.6.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/curves": "~1.7.0", "@noble/hashes": "~1.6.0", @@ -37831,7 +40095,6 @@ "node_modules/ox/node_modules/@scure/bip39": { "version": "1.5.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/hashes": "~1.6.0", "@scure/base": "~1.2.1" @@ -37842,8 +40105,7 @@ }, "node_modules/ox/node_modules/eventemitter3": { "version": "5.0.1", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/p-cancelable": { "version": "3.0.0", @@ -37862,7 +40124,7 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -37922,7 +40184,7 @@ }, "node_modules/p-map": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -38152,7 +40414,7 @@ }, "node_modules/parse-json": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "error-ex": "^1.3.1", @@ -38187,6 +40449,8 @@ }, "node_modules/parse-png": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", + "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", "license": "MIT", "optional": true, "peer": true, @@ -38282,60 +40546,6 @@ "node": ">= 0.4.0" } }, - "node_modules/password-prompt": { - "version": "1.1.3", - "license": "0BSD", - "optional": true, - "peer": true, - "dependencies": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "node_modules/password-prompt/node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/password-prompt/node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/password-prompt/node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/password-prompt/node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/patch-package": { "version": "8.0.0", "license": "MIT", @@ -38534,7 +40744,7 @@ }, "node_modules/path-key": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -38563,6 +40773,46 @@ "node": ">=0.10.0" } }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "optional": true, + "peer": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "license": "BlueOak-1.0.0", + "optional": true, + "peer": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "optional": true, + "peer": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "license": "MIT" @@ -38608,7 +40858,9 @@ "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/picomatch": { @@ -38729,7 +40981,7 @@ }, "node_modules/pirates": { "version": "4.0.6", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -38737,7 +40989,7 @@ }, "node_modules/pkg-dir": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "find-up": "^3.0.0" @@ -38748,7 +41000,7 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^3.0.0" @@ -38759,7 +41011,7 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^3.0.0", @@ -38771,7 +41023,7 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -38785,7 +41037,7 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.0.0" @@ -38796,7 +41048,7 @@ }, "node_modules/pkg-dir/node_modules/p-try": { "version": "2.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -38804,7 +41056,7 @@ }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -38819,12 +41071,14 @@ } }, "node_modules/plist": { - "version": "3.1.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", "license": "MIT", "optional": true, "peer": true, "dependencies": { - "@xmldom/xmldom": "^0.8.8", + "@xmldom/xmldom": "^0.9.10", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" }, @@ -38833,21 +41087,14 @@ } }, "node_modules/plist/node_modules/@xmldom/xmldom": { - "version": "0.8.10", + "version": "0.9.12", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.12.tgz", + "integrity": "sha512-5AXjrcMClTryPe9LgZrygpB1lj7s0S9E0+W+AHaVKAVyHanafK86iPSvG5xHVSp/jC+VH1UXu0TAEmY279xH7A==", "license": "MIT", "optional": true, "peer": true, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/plist/node_modules/xmlbuilder": { - "version": "15.1.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8.0" + "node": ">=14.6" } }, "node_modules/plur": { @@ -38859,6 +41106,8 @@ }, "node_modules/pngjs": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "license": "MIT", "optional": true, "peer": true, @@ -38886,7 +41135,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", + "version": "8.5.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.32.tgz", + "integrity": "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==", "funding": [ { "type": "opencollective", @@ -38904,31 +41155,14 @@ "license": "MIT", "optional": true, "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.20", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.2" }, "engines": { "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.7", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "optional": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -38962,18 +41196,6 @@ "node": ">=6.0.0" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pretty-format": { "version": "25.5.0", "dev": true, @@ -39100,6 +41322,17 @@ "node": ">= 0.6" } }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/process": { "version": "0.11.10", "license": "MIT", @@ -39120,20 +41353,15 @@ } }, "node_modules/promise": { - "version": "7.3.1", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "asap": "~2.0.3" + "asap": "~2.0.6" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/promise.allsettled": { "version": "1.0.6", "dev": true, @@ -39167,7 +41395,9 @@ }, "node_modules/prop-types": { "version": "15.8.1", - "devOptional": true, + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -39313,14 +41543,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qrcode-terminal": { - "version": "0.11.0", - "optional": true, - "peer": true, - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" - } - }, "node_modules/qs": { "version": "6.11.0", "license": "BSD-3-Clause", @@ -39356,15 +41578,6 @@ "version": "2.2.0", "license": "MIT" }, - "node_modules/queue": { - "version": "6.0.2", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "inherits": "~2.0.3" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "devOptional": true, @@ -39472,7 +41685,7 @@ }, "node_modules/rc": { "version": "1.2.8", - "devOptional": true, + "dev": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { "deep-extend": "^0.6.0", @@ -39486,12 +41699,12 @@ }, "node_modules/rc/node_modules/ini": { "version": "1.3.8", - "devOptional": true, + "dev": true, "license": "ISC" }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -39512,85 +41725,107 @@ "license": "MIT" }, "node_modules/react": { - "version": "18.2.0", + "version": "19.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.1.tgz", + "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-devtools-core": { - "version": "4.28.5", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz", + "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" } }, + "node_modules/react-dom": { + "version": "19.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.1.tgz", + "integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.1" + } + }, + "node_modules/react-freeze": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz", + "integrity": "sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=17.0.0" + } + }, "node_modules/react-is": { "version": "16.13.1", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/react-native": { - "version": "0.73.4", + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.88.1.tgz", + "integrity": "sha512-wajWcLZ93GCN7k4Uwh4CS4L2Ah8ohcvkOXnvIYmh4Yvuqho5j3APZ9qozK+nQrHWSgauq4h8D3HN5DKK84SrHA==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native/assets-registry": "0.73.1", - "@react-native/codegen": "0.73.3", - "@react-native/community-cli-plugin": "0.73.16", - "@react-native/gradle-plugin": "0.73.4", - "@react-native/js-polyfills": "0.73.1", - "@react-native/normalize-colors": "0.73.2", - "@react-native/virtualized-lists": "0.73.4", - "abort-controller": "^3.0.0", + "@react-native/asset-utils": "0.88.1", + "@react-native/codegen": "0.88.1", + "@react-native/community-cli-plugin": "0.88.1", + "@react-native/gradle-plugin": "0.88.1", + "@react-native/normalize-colors": "0.88.1", + "@react-native/virtualized-lists": "0.88.1", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "deprecated-react-native-prop-types": "^5.0.0", - "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.6", + "flow-parser": "0.327.0", + "hermes-compiler": "260318099.0.5", "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", + "metro-runtime": "^0.87.1", + "metro-source-map": "^0.87.1", "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", + "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^4.27.7", + "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", + "scheduler": "0.28.0", + "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.15", "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", + "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "react-native": "cli.js" }, "engines": { - "node": ">=18" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" }, "peerDependencies": { - "react": "18.2.0" + "@types/react": "^19.1.1", + "react": "^19.3.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/react-native-securerandom": { @@ -39604,41 +41839,78 @@ "react-native": "*" } }, - "node_modules/react-native/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/react-native-svg": { + "version": "15.16.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.16.0.tgz", + "integrity": "sha512-uh8yktufYeRU3W9Omi8+SPyLF9BVN4JmLflSgc9oOcKkSKk/S5JUmmTjKZq/L8GHfQUtCvcu/W6X4xhEfBBAjQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "css-select": "^5.1.0", + "css-tree": "^1.1.3" }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native/node_modules/@react-native/asset-utils": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/asset-utils/-/asset-utils-0.88.1.tgz", + "integrity": "sha512-BLb5FF7NgggGYiCsA7KKkK2qFhn0K+6iGXOI+4Ucd+G7Robzw9Gt4WsWwxLt+Od+G+/hyqfz8ASokyWFZ6VcLw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" } }, - "node_modules/react-native/node_modules/chalk": { - "version": "4.1.2", + "node_modules/react-native/node_modules/@react-native/codegen": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.88.1.tgz", + "integrity": "sha512-URPgPhnsxqeQSLyTRVzhZZ8iNXtZdR1Jop6lqaQacymvl3byghXisNIRR1YyG6PbXUfzPan5Jmz/kPhUUsZ2Yw==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.25.2", + "@babel/parser": "^7.29.0", + "flow-parser": "0.327.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "tinyglobby": "^0.2.15", + "yargs": "^17.6.2" }, + "engines": { + "node": "^22.13.0 || ^24.3.0 || >= 26.0.0" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/react-native/node_modules/@react-native/normalize-colors": { + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.88.1.tgz", + "integrity": "sha512-2SAKiLyZRf+peBLkhhJWGY5vC26w1Uj9QBgUZvjAnOxjgeEKUGBE5riPS0R7+YoqSrRL0w8ucwZB4M+vvy9HMg==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/react-native/node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "license": "ISC", - "optional": true, "peer": true, "dependencies": { "string-width": "^4.2.0", @@ -39649,91 +41921,73 @@ "node": ">=12" } }, - "node_modules/react-native/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-native/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/react-native/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/react-native/node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/react-native/node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/react-native/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">=8" } }, "node_modules/react-native/node_modules/pretty-format": { - "version": "26.6.2", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 10" - } - }, - "node_modules/react-native/node_modules/promise": { - "version": "8.3.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "asap": "~2.0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/react-native/node_modules/react-is": { - "version": "17.0.2", + "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==", "license": "MIT", - "optional": true, "peer": true }, + "node_modules/react-native/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/react-native/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -39746,8 +42000,9 @@ }, "node_modules/react-native/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "ansi-regex": "^5.0.1" @@ -39756,40 +42011,43 @@ "node": ">=8" } }, - "node_modules/react-native/node_modules/supports-color": { - "version": "7.2.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/react-native/node_modules/ws": { - "version": "6.2.2", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" + "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/react-native/node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": ">=10" } }, "node_modules/react-native/node_modules/yargs": { - "version": "17.7.2", + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "cliui": "^8.0.1", @@ -39806,35 +42064,111 @@ }, "node_modules/react-native/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "license": "ISC", - "optional": true, "peer": true, "engines": { "node": ">=12" } }, "node_modules/react-refresh": { - "version": "0.14.0", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "license": "MIT", - "optional": true, "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, + "node_modules/react-remove-scroll-bar/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/react-remove-scroll/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/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton/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/read-pkg": { "version": "4.0.1", "dev": true, @@ -40083,12 +42417,6 @@ "node": ">=8.10.0" } }, - "node_modules/readline": { - "version": "1.3.0", - "license": "BSD", - "optional": true, - "peer": true - }, "node_modules/readonly-date": { "version": "1.0.0", "license": "Apache-2.0" @@ -40156,17 +42484,19 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.8", + "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==", "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "dunder-proto": "^1.0.0", - "es-abstract": "^1.23.5", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.2.0", - "which-builtin-type": "^1.2.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" @@ -40176,12 +42506,16 @@ } }, "node_modules/regenerate": { - "version": "1.4.2", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.5.0.tgz", + "integrity": "sha512-1s+CxXjJ71i7LNVy8nYwg47XV4y6lAnOEhsMtSKq3WpmPfhl9LuKlTqKIn/3yUpE8lBz+W+TT88Bxyhnr0U4yw==", "devOptional": true, "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.3.0.tgz", + "integrity": "sha512-9ns8odR8e9q3otKeHj3DE80jZYKg6zVeZKE+zQmRKXFoVUcuiTGeO6iusDhPRoIQQPVPRvH+SfBhrTud4eczuw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -40216,7 +42550,7 @@ }, "node_modules/regenerator-transform": { "version": "0.15.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" @@ -40276,12 +42610,16 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", + "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==", "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": { @@ -40318,16 +42656,18 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.5.3.tgz", + "integrity": "sha512-E8VgUoSK+LMQrLboDxavm76MTBGrQhx9RiNuomRmYnZ10Uw12HrI8fkxOOncktb2hBpzIZ9SV/347euQHG5z+g==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate": "^1.5.0", + "regenerate-unicode-properties": "^10.3.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "unicode-match-property-value-ecmascript": "^2.2.1" }, "engines": { "node": ">=4" @@ -40431,24 +42771,26 @@ "node": ">=8" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "devOptional": true, + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.4.tgz", + "integrity": "sha512-EWV80YgFaVgFrjGCAsV7oybp4GOxbls5RzBg8OB0nKEVXsBJR1JlV8Di1JhCROg3MzTfe1RI8yitIm1eOs68iA==", "devOptional": true, "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "devOptional": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/remark": { "version": "14.0.2", "dev": true, @@ -40556,12 +42898,6 @@ "dev": true, "license": "ISC" }, - "node_modules/remove-trailing-slash": { - "version": "0.1.1", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/repeat-element": { "version": "1.1.4", "dev": true, @@ -40668,43 +43004,27 @@ "version": "1.0.1", "license": "ISC" }, - "node_modules/requireg": { - "version": "0.2.2", - "optional": true, - "peer": true, - "dependencies": { - "nested-error-stacks": "~2.0.1", - "rc": "~1.2.7", - "resolve": "~1.7.1" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/requireg/node_modules/resolve": { - "version": "1.7.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "path-parse": "^1.0.5" - } - }, "node_modules/requires-port": { "version": "1.0.0", "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.1", + "version": "1.22.13", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.13.tgz", + "integrity": "sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==", "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.17.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -40735,9 +43055,17 @@ "dev": true, "license": "MIT" }, + "node_modules/resolve-workspace-root": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz", + "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/resolve.exports": { "version": "2.0.2", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -40762,6 +43090,8 @@ }, "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==", "license": "MIT", "optional": true, "peer": true, @@ -40966,11 +43296,27 @@ ], "license": "MIT" }, - "node_modules/safe-json-stringify": { - "version": "1.2.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==", "license": "MIT", - "optional": true, - "peer": true + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" }, "node_modules/safe-regex": { "version": "1.1.0", @@ -41022,6 +43368,20 @@ "version": "2.1.2", "license": "MIT" }, + "node_modules/sandbox-cli-detector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sandbox-cli-detector/-/sandbox-cli-detector-0.2.0.tgz", + "integrity": "sha512-4lyHX0ZU0AZKwjgZ1InxZAa3PNpyEb8rOQ+Zss1ReYmhNzW0Q+h1zE5nvniXN0HaAWZaZE1zgVNEirb0R7LmNg==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "sandbox-cli-detector": "dist/cli.js" + }, + "engines": { + "node": ">=18.18" + } + }, "node_modules/sane": { "version": "4.1.0", "dev": true, @@ -41195,13 +43555,11 @@ "license": "ISC" }, "node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - } + "peer": true }, "node_modules/schema-utils": { "version": "2.7.1", @@ -41281,7 +43639,6 @@ }, "node_modules/semver": { "version": "6.3.1", - "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -41494,6 +43851,20 @@ "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==", + "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", "dev": true, @@ -41558,7 +43929,7 @@ }, "node_modules/shebang-command": { "version": "1.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" @@ -41569,28 +43940,34 @@ }, "node_modules/shebang-regex": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/shell-quote": { - "version": "1.8.1", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.12.0.tgz", + "integrity": "sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==", "license": "MIT", - "optional": true, "peer": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { - "version": "1.1.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -41602,11 +43979,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -41616,7 +43995,9 @@ } }, "node_modules/side-channel-list/node_modules/object-inspect": { - "version": "1.13.3", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -41679,7 +44060,9 @@ } }, "node_modules/side-channel/node_modules/object-inspect": { - "version": "1.13.3", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -41746,6 +44129,8 @@ }, "node_modules/simple-plist": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", "license": "MIT", "optional": true, "peer": true, @@ -41757,6 +44142,8 @@ }, "node_modules/simple-plist/node_modules/bplist-parser": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", "license": "MIT", "optional": true, "peer": true, @@ -41804,7 +44191,7 @@ }, "node_modules/slash": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -41837,7 +44224,9 @@ } }, "node_modules/slugify": { - "version": "1.6.6", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.9.tgz", + "integrity": "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==", "license": "MIT", "optional": true, "peer": true, @@ -42312,7 +44701,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", "license": "BSD-3-Clause", "optional": true, "engines": { @@ -42436,18 +44827,6 @@ "node": ">= 6" } }, - "node_modules/split": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, "node_modules/split-string": { "version": "3.1.0", "dev": true, @@ -42482,7 +44861,7 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause" }, "node_modules/sshpk": { @@ -42512,36 +44891,6 @@ "version": "0.14.5", "license": "Unlicense" }, - "node_modules/ssri": { - "version": "8.0.1", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ssri/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/stable": { "version": "0.1.8", "dev": true, @@ -42556,7 +44905,7 @@ }, "node_modules/stack-utils": { "version": "2.0.6", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" @@ -42567,7 +44916,7 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -42575,14 +44924,16 @@ }, "node_modules/stackframe": { "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/stacktrace-parser": { - "version": "0.1.10", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "license": "MIT", - "optional": true, "peer": true, "dependencies": { "type-fest": "^0.7.1" @@ -42593,8 +44944,9 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "license": "(MIT OR CC0-1.0)", - "optional": true, "peer": true, "engines": { "node": ">=8" @@ -42714,10 +45066,13 @@ } }, "node_modules/stop-iteration-iterator": { - "version": "1.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "license": "MIT", "dependencies": { - "internal-slot": "^1.0.4" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -42730,6 +45085,8 @@ }, "node_modules/stream-buffers": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", "license": "Unlicense", "optional": true, "peer": true, @@ -42812,25 +45169,46 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.1.0.tgz", + "integrity": "sha512-tHNHTxInrYLCga9O9YGxWA3G9/nnzQw8UGAyqGx3Ar1pSTTzIuM4woFSq4SowkXCjJIwq5sIiQvEfRI9tCH1qQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "get-intrinsic": "^1.3.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.4", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.10", "license": "MIT", @@ -42933,7 +45311,7 @@ }, "node_modules/strip-eof": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -42941,7 +45319,7 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -42975,68 +45353,8 @@ }, "node_modules/structured-headers": { "version": "0.4.1", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/sucrase": { - "version": "3.34.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sudo-prompt": { - "version": "8.2.5", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", + "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", "license": "MIT", "optional": true, "peer": true @@ -43094,6 +45412,8 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "license": "MIT", "optional": true, "peer": true, @@ -43107,6 +45427,8 @@ }, "node_modules/supports-hyperlinks/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "optional": true, "peer": true, @@ -43116,6 +45438,8 @@ }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "optional": true, "peer": true, @@ -43276,6 +45600,98 @@ "dev": true, "license": "0BSD" }, + "node_modules/tabbable": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.5.1.tgz", + "integrity": "sha512-dMCuwDUY6Noz3zVKLefBC4wq+aJV20yc7vWmM7uTNGwtQSFF5kX7OUIUsxuVajz/bdt5Xqdah3/0NLjth+cM5A==", + "license": "MIT" + }, + "node_modules/tamagui": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/tamagui/-/tamagui-1.121.0.tgz", + "integrity": "sha512-2KWzmr7PtNH3PuVA8Y2s8SwYyoPUnACqlkj6TGj1lNtL8T4dzG48tzS5/DJor3NKcZcti7lgZUhOAh5aws0dFQ==", + "dependencies": { + "@tamagui/accordion": "1.121.0", + "@tamagui/adapt": "1.121.0", + "@tamagui/alert-dialog": "1.121.0", + "@tamagui/animate-presence": "1.121.0", + "@tamagui/avatar": "1.121.0", + "@tamagui/button": "1.121.0", + "@tamagui/card": "1.121.0", + "@tamagui/checkbox": "1.121.0", + "@tamagui/compose-refs": "1.121.0", + "@tamagui/constants": "1.121.0", + "@tamagui/core": "1.121.0", + "@tamagui/create-context": "1.121.0", + "@tamagui/dialog": "1.121.0", + "@tamagui/elements": "1.121.0", + "@tamagui/fake-react-native": "1.121.0", + "@tamagui/focusable": "1.121.0", + "@tamagui/font-size": "1.121.0", + "@tamagui/form": "1.121.0", + "@tamagui/get-button-sized": "1.121.0", + "@tamagui/get-font-sized": "1.121.0", + "@tamagui/get-token": "1.121.0", + "@tamagui/group": "1.121.0", + "@tamagui/helpers-tamagui": "1.121.0", + "@tamagui/image": "1.121.0", + "@tamagui/label": "1.121.0", + "@tamagui/linear-gradient": "1.121.0", + "@tamagui/list-item": "1.121.0", + "@tamagui/polyfill-dev": "1.121.0", + "@tamagui/popover": "1.121.0", + "@tamagui/popper": "1.121.0", + "@tamagui/portal": "1.121.0", + "@tamagui/progress": "1.121.0", + "@tamagui/radio-group": "1.121.0", + "@tamagui/react-native-media-driver": "1.121.0", + "@tamagui/scroll-view": "1.121.0", + "@tamagui/select": "1.121.0", + "@tamagui/separator": "1.121.0", + "@tamagui/shapes": "1.121.0", + "@tamagui/sheet": "1.121.0", + "@tamagui/slider": "1.121.0", + "@tamagui/stacks": "1.121.0", + "@tamagui/switch": "1.121.0", + "@tamagui/tabs": "1.121.0", + "@tamagui/text": "1.121.0", + "@tamagui/theme": "1.121.0", + "@tamagui/toggle-group": "1.121.0", + "@tamagui/tooltip": "1.121.0", + "@tamagui/use-controllable-state": "1.121.0", + "@tamagui/use-debounce": "1.121.0", + "@tamagui/use-force-update": "1.121.0", + "@tamagui/use-window-dimensions": "1.121.0", + "@tamagui/visually-hidden": "1.121.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/tamagui/node_modules/@tamagui/compose-refs": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.121.0.tgz", + "integrity": "sha512-unw6exT2RzRjaohk6dMKENpNylXk1+NYSBXugDmMtmufT14B/y0w3SY25tHTHTQGATIfq/QM6B1DZ/To6EB9nA==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/tamagui/node_modules/@tamagui/constants": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.121.0.tgz", + "integrity": "sha512-fWADNBzKMoTwXoLjs3uvyr/vjpILVYpR86HRsXlF5LaRNa/gTkpSUVywJy8GgKADoNvf3NHm4Mb8MG2VVHC61Q==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/tamagui/node_modules/@tamagui/use-force-update": { + "version": "1.121.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.121.0.tgz", + "integrity": "sha512-QL//PvgMesz18L7aL7+qjXtuG5aj0EESnm4/CqvXVrewYHcLTki+2YiQST2zfxon77ocwDXwv8L/c+kwUyW/Vw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/tap-out": { "version": "2.1.0", "license": "MIT", @@ -43455,84 +45871,10 @@ "node": ">=4.5" } }, - "node_modules/temp": { - "version": "0.8.4", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/tempy": { - "version": "0.7.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "license": "(MIT OR CC0-1.0)", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terminal-link": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "license": "MIT", "optional": true, "peer": true, @@ -43673,34 +46015,14 @@ }, "node_modules/text-table": { "version": "0.2.0", - "devOptional": true, + "dev": true, "license": "MIT" }, - "node_modules/thenify": { - "version": "3.3.1", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/throat": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/throng": { @@ -43737,6 +46059,54 @@ "node": ">=0.10.0" } }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "peer": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmp": { "version": "0.0.33", "license": "MIT", @@ -43752,14 +46122,6 @@ "devOptional": true, "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-object-path": { "version": "0.3.0", "dev": true, @@ -43826,6 +46188,14 @@ "node": ">=0.6" } }, + "node_modules/toqr": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/toqr/-/toqr-0.1.1.tgz", + "integrity": "sha512-FWAPzCIHZHnrE/5/w9MPk0kK25hSQSH2IKhYh9PyjS3SG/+IEMvlwIHbhz+oF7xl54I+ueZlVnMjyzdSwLmAwA==", + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/touch": { "version": "3.1.0", "dev": true, @@ -43872,18 +46242,6 @@ "node": ">=6" } }, - "node_modules/traverse": { - "version": "0.6.8", - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/tree-kill": { "version": "1.2.2", "dev": true, @@ -44041,12 +46399,6 @@ "dev": true, "license": "MIT" }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "license": "Apache-2.0", - "optional": true, - "peer": true - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "dev": true, @@ -44200,7 +46552,7 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -44229,26 +46581,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "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", + "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==", "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" @@ -44258,16 +46614,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.3", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.5.tgz", + "integrity": "sha512-0FHJvLPqZ7KJzp17O13jfsAjsqazgrxBu2zEK95PmUz8lv2+GjRuxUInCr2Rk9Dms3ihN21zJ929ZO43yJ95QQ==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "reflect.getprototypeof": "^1.0.6" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.10" }, "engines": { "node": ">= 0.4" @@ -44302,39 +46659,39 @@ } }, "node_modules/typescript": { - "version": "5.7.2", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", + "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", "devOptional": true, "license": "Apache-2.0", "peer": true, "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "tsc": "bin/tsc" }, "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.37", - "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", - "optional": true, - "peer": true, - "engines": { - "node": "*" + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/typescript-aix-ppc64": "7.0.2", + "@typescript/typescript-darwin-arm64": "7.0.2", + "@typescript/typescript-darwin-x64": "7.0.2", + "@typescript/typescript-freebsd-arm64": "7.0.2", + "@typescript/typescript-freebsd-x64": "7.0.2", + "@typescript/typescript-linux-arm": "7.0.2", + "@typescript/typescript-linux-arm64": "7.0.2", + "@typescript/typescript-linux-loong64": "7.0.2", + "@typescript/typescript-linux-mips64el": "7.0.2", + "@typescript/typescript-linux-ppc64": "7.0.2", + "@typescript/typescript-linux-riscv64": "7.0.2", + "@typescript/typescript-linux-s390x": "7.0.2", + "@typescript/typescript-linux-x64": "7.0.2", + "@typescript/typescript-netbsd-arm64": "7.0.2", + "@typescript/typescript-netbsd-x64": "7.0.2", + "@typescript/typescript-openbsd-arm64": "7.0.2", + "@typescript/typescript-openbsd-x64": "7.0.2", + "@typescript/typescript-sunos-x64": "7.0.2", + "@typescript/typescript-win32-arm64": "7.0.2", + "@typescript/typescript-win32-x64": "7.0.2" } }, "node_modules/uc.micro": { @@ -44403,13 +46760,18 @@ "license": "MIT" }, "node_modules/unbox-primitive": { - "version": "1.0.2", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "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" @@ -44465,7 +46827,9 @@ "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", + "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==", "devOptional": true, "license": "MIT", "engines": { @@ -44474,6 +46838,8 @@ }, "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==", "devOptional": true, "license": "MIT", "dependencies": { @@ -44485,7 +46851,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "devOptional": true, "license": "MIT", "engines": { @@ -44493,7 +46861,9 @@ } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", "devOptional": true, "license": "MIT", "engines": { @@ -44551,27 +46921,9 @@ "node": ">=0.10.0" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, "node_modules/unique-string": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" @@ -44727,7 +47079,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.4.tgz", + "integrity": "sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==", "funding": [ { "type": "opencollective", @@ -44744,8 +47098,8 @@ ], "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -44902,12 +47256,6 @@ "querystring": "0.2.0" } }, - "node_modules/url-join": { - "version": "4.0.0", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/url-parse": { "version": "1.5.10", "license": "MIT", @@ -44951,6 +47299,61 @@ "node": ">=0.10.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-callback-ref/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/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar/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/user-home": { "version": "1.1.1", "dev": true, @@ -45055,11 +47458,6 @@ "node": ">= 0.10" } }, - "node_modules/valid-url": { - "version": "1.0.9", - "optional": true, - "peer": true - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "license": "Apache-2.0", @@ -45069,12 +47467,14 @@ } }, "node_modules/validate-npm-package-name": { - "version": "3.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "license": "ISC", "optional": true, "peer": true, - "dependencies": { - "builtins": "^1.0.3" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/validator": { @@ -45254,7 +47654,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@noble/curves": "1.7.0", "@noble/hashes": "1.6.1", @@ -45278,7 +47677,6 @@ "node_modules/viem/node_modules/@noble/curves": { "version": "1.7.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/hashes": "1.6.0" }, @@ -45292,7 +47690,6 @@ "node_modules/viem/node_modules/@noble/curves/node_modules/@noble/hashes": { "version": "1.6.0", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -45303,7 +47700,6 @@ "node_modules/viem/node_modules/@noble/hashes": { "version": "1.6.1", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -45314,7 +47710,6 @@ "node_modules/viem/node_modules/@scure/base": { "version": "1.2.1", "license": "MIT", - "peer": true, "funding": { "url": "https://paulmillr.com/funding/" } @@ -45322,7 +47717,6 @@ "node_modules/viem/node_modules/@scure/bip32": { "version": "1.6.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/curves": "~1.7.0", "@noble/hashes": "~1.6.0", @@ -45335,7 +47729,6 @@ "node_modules/viem/node_modules/@scure/bip39": { "version": "1.5.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/hashes": "~1.6.0", "@scure/base": "~1.2.1" @@ -45347,7 +47740,6 @@ "node_modules/viem/node_modules/ws": { "version": "8.18.0", "license": "MIT", - "peer": true, "engines": { "node": ">=10.0.0" }, @@ -45366,8 +47758,9 @@ }, "node_modules/vlq": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", "license": "MIT", - "optional": true, "peer": true }, "node_modules/vue-template-compiler": { @@ -45409,6 +47802,8 @@ }, "node_modules/wcwidth": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "license": "MIT", "optional": true, "peer": true, @@ -45482,95 +47877,82 @@ "license": "MIT" }, "node_modules/web3-core": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", + "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", "license": "LGPL-3.0", "peer": true, "dependencies": { "@types/bn.js": "^5.1.1", "@types/node": "^12.12.6", "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.3", - "web3-core-method": "1.10.3", - "web3-core-requestmanager": "1.10.3", - "web3-utils": "1.10.3" + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-requestmanager": "1.10.4", + "web3-utils": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-helpers": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", + "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", "license": "LGPL-3.0", "peer": true, "dependencies": { - "web3-eth-iban": "1.10.3", - "web3-utils": "1.10.3" + "web3-eth-iban": "1.10.4", + "web3-utils": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/web3-core-helpers/node_modules/@noble/hashes": { - "version": "1.3.1", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/web3-core-helpers/node_modules/@scure/bip32": { - "version": "1.3.1", - "license": "MIT", - "peer": true, - "dependencies": { - "@noble/curves": "~1.1.0", - "@noble/hashes": "~1.3.1", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/web3-core-helpers/node_modules/@scure/bip39": { - "version": "1.2.1", + "node_modules/web3-core-helpers/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "license": "MIT", "peer": true, "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" + "@noble/hashes": "1.4.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/web3-core-helpers/node_modules/ethereum-cryptography": { - "version": "2.1.2", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "license": "MIT", "peer": true, "dependencies": { - "@noble/curves": "1.1.0", - "@noble/hashes": "1.3.1", - "@scure/bip32": "1.3.1", - "@scure/bip39": "1.2.1" + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" } }, "node_modules/web3-core-helpers/node_modules/web3-eth-iban": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", + "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", "license": "LGPL-3.0", "peer": true, "dependencies": { "bn.js": "^5.2.1", - "web3-utils": "1.10.3" + "web3-utils": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core-helpers/node_modules/web3-utils": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "license": "LGPL-3.0", "peer": true, "dependencies": { @@ -45623,15 +48005,17 @@ } }, "node_modules/web3-core-requestmanager": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz", + "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==", "license": "LGPL-3.0", "peer": true, "dependencies": { "util": "^0.12.5", - "web3-core-helpers": "1.10.3", - "web3-providers-http": "1.10.3", - "web3-providers-ipc": "1.10.3", - "web3-providers-ws": "1.10.3" + "web3-core-helpers": "1.10.4", + "web3-providers-http": "1.10.4", + "web3-providers-ipc": "1.10.4", + "web3-providers-ws": "1.10.4" }, "engines": { "node": ">=8.0.0" @@ -45659,37 +48043,14 @@ "node": ">=8.0.0" } }, - "node_modules/web3-core/node_modules/@noble/hashes": { - "version": "1.3.1", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/web3-core/node_modules/@scure/bip32": { - "version": "1.3.1", - "license": "MIT", - "peer": true, - "dependencies": { - "@noble/curves": "~1.1.0", - "@noble/hashes": "~1.3.1", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/web3-core/node_modules/@scure/bip39": { - "version": "1.2.1", + "node_modules/web3-core/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "license": "MIT", "peer": true, "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" + "@noble/hashes": "1.4.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -45697,37 +48058,45 @@ }, "node_modules/web3-core/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==", "license": "MIT", "peer": true }, "node_modules/web3-core/node_modules/ethereum-cryptography": { - "version": "2.1.2", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "license": "MIT", "peer": true, "dependencies": { - "@noble/curves": "1.1.0", - "@noble/hashes": "1.3.1", - "@scure/bip32": "1.3.1", - "@scure/bip39": "1.2.1" + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" } }, "node_modules/web3-core/node_modules/web3-core-method": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz", + "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==", "license": "LGPL-3.0", "peer": true, "dependencies": { "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.3", - "web3-core-promievent": "1.10.3", - "web3-core-subscriptions": "1.10.3", - "web3-utils": "1.10.3" + "web3-core-helpers": "1.10.4", + "web3-core-promievent": "1.10.4", + "web3-core-subscriptions": "1.10.4", + "web3-utils": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core/node_modules/web3-core-promievent": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", + "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", "license": "LGPL-3.0", "peer": true, "dependencies": { @@ -45738,19 +48107,23 @@ } }, "node_modules/web3-core/node_modules/web3-core-subscriptions": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", + "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", "license": "LGPL-3.0", "peer": true, "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.3" + "web3-core-helpers": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-core/node_modules/web3-utils": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "license": "LGPL-3.0", "peer": true, "dependencies": { @@ -46488,46 +48861,54 @@ } }, "node_modules/web3-providers-http": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", + "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", "license": "LGPL-3.0", "peer": true, "dependencies": { "abortcontroller-polyfill": "^1.7.5", "cross-fetch": "^4.0.0", "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.3" + "web3-core-helpers": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-providers-http/node_modules/cross-fetch": { - "version": "4.0.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", "license": "MIT", "peer": true, "dependencies": { - "node-fetch": "^2.6.12" + "node-fetch": "^2.7.0" } }, "node_modules/web3-providers-ipc": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", + "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", "license": "LGPL-3.0", "peer": true, "dependencies": { "oboe": "2.1.5", - "web3-core-helpers": "1.10.3" + "web3-core-helpers": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-providers-ws": { - "version": "1.10.3", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", + "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", "license": "LGPL-3.0", "peer": true, "dependencies": { "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.3", + "web3-core-helpers": "1.10.4", "websocket": "^1.0.32" }, "engines": { @@ -46735,7 +49116,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@noble/curves": "^1.4.0", "@noble/hashes": "^1.4.0" @@ -46744,7 +49124,6 @@ "node_modules/webauthn-p256/node_modules/@noble/curves": { "version": "1.7.0", "license": "MIT", - "peer": true, "dependencies": { "@noble/hashes": "1.6.0" }, @@ -46758,7 +49137,6 @@ "node_modules/webauthn-p256/node_modules/@noble/curves/node_modules/@noble/hashes": { "version": "1.6.0", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -46769,7 +49147,6 @@ "node_modules/webauthn-p256/node_modules/@noble/hashes": { "version": "1.6.1", "license": "MIT", - "peer": true, "engines": { "node": "^14.21.3 || >=16" }, @@ -47327,61 +49704,13 @@ "node": ">=16" } }, - "node_modules/whatwg-url-without-unicode": { - "version": "8.0.0-3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer": "^5.4.3", - "punycode": "^2.1.1", - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/whatwg-url-without-unicode/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/whatwg-url-without-unicode/node_modules/punycode": { - "version": "2.3.1", + "node_modules/whatwg-url-minimum": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url-minimum/-/whatwg-url-minimum-0.2.0.tgz", + "integrity": "sha512-BtjXU1caNcCFfETP2DhqSeVPfRDl2MTUitI107RE34rJXjR/izfUtR5IoTFOK1WqjNLXbbeqaCH/mQAOLjpc8g==", "license": "MIT", "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/whatwg-url-without-unicode/node_modules/webidl-conversions": { - "version": "5.0.0", - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } + "peer": true }, "node_modules/which": { "version": "2.0.2", @@ -47476,17 +49805,21 @@ }, "node_modules/which-module": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.16", + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.24.tgz", + "integrity": "sha512-wk4Mf4pR5mRP7eYuuTBCIQ9d0ud2Fv2jRLQpfgnRjbOxAFHmjKFValgTpitVKzJJS8ajnYQV2Du1SZ8j6b/EUQ==", "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.9", + "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": { @@ -47629,12 +49962,6 @@ "node": ">= 6" } }, - "node_modules/wonka": { - "version": "4.0.15", - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/wordwrap": { "version": "1.0.0", "dev": true, @@ -47642,7 +49969,6 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", - "devOptional": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -47658,7 +49984,6 @@ }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -47672,7 +49997,6 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -47683,17 +50007,14 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "8.0.0", - "devOptional": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -47701,7 +50022,6 @@ }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "4.2.3", - "devOptional": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -47714,7 +50034,6 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", - "devOptional": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -47758,25 +50077,17 @@ } }, "node_modules/xcode": { - "version": "3.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-4.0.0.tgz", + "integrity": "sha512-dDaoWzc9EP2fp9FS9PVZUkyvFxY4y1TOV9pcKaKLk++Ei/qb97XDFEVP7GnW7Osii/TzVABJ0jq2F+9/lq0TVA==", "license": "Apache-2.0", "optional": true, "peer": true, "dependencies": { - "simple-plist": "^1.1.0", - "uuid": "^7.0.3" + "simple-plist": "^1.3.1" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/xcode/node_modules/uuid": { - "version": "7.0.3", - "license": "MIT", - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=14.17.0" } }, "node_modules/xdg-basedir": { @@ -47842,6 +50153,17 @@ "node": ">=4.0" } }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.0" + } + }, "node_modules/xmlhttprequest": { "version": "1.8.0", "license": "MIT", @@ -47872,7 +50194,7 @@ }, "node_modules/y18n": { "version": "4.0.3", - "devOptional": true, + "dev": true, "license": "ISC" }, "node_modules/yaeti": { @@ -48037,6 +50359,17 @@ "node": ">=14" } }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "optional": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/zwitch": { "version": "2.0.4", "dev": true, diff --git a/package.json b/package.json index 674e70572..10c3ab856 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@gooddollar/goodcontracts": "^2.6.1", "@gooddollar/goodprotocol": "^2.3.4", "@gooddollar/kms-ethereum-signing": "^1.0.4", + "@goodwidget/core": "^0.1.5", "@openzeppelin/defender-autotask-client": "^1.50.0", "@openzeppelin/defender-relay-client": "^1.49.0", "@sentry/integrations": "^5.30.0", @@ -113,6 +114,7 @@ "triple-beam": "^1.3.0", "twilio": "^3.77.1", "uuid": "^8.3.2", + "viem": "^2.0.0", "web3": "^1.10.0", "webpack-cli": "^5.1.1", "websocket": "^1.0.32", diff --git a/src/server/blockchain/AdminWallet.js b/src/server/blockchain/AdminWallet.js index a0c4c2388..f4d9cd98e 100644 --- a/src/server/blockchain/AdminWallet.js +++ b/src/server/blockchain/AdminWallet.js @@ -1,17 +1,15 @@ // @flow import Crypto from 'crypto' -import Web3 from 'web3' import { assign } from 'lodash' -import * as web3Utils from 'web3-utils' +import { formatUnits, parseGwei } from 'viem' -import { Web3Wallet, web3Default, defaultGas, adminMinBalance } from './Web3Wallet' +import { Web3Wallet, defaultGas, adminMinBalance } from './Web3Wallet' import conf from '../server.config' import { isNonceError, isFundsError } from '../utils/eth' import { getManager } from '../utils/tx-manager' -import { HttpProviderFactory, WebsocketProvider } from './transport' -const defaultRopstenGasPrice = web3Utils.toWei('5', 'gwei') +const defaultRopstenGasPrice = parseGwei('5') class AdminWallet extends Web3Wallet { constructor(name, conf, options, useKMS = false) { @@ -21,62 +19,33 @@ class AdminWallet extends Web3Wallet { this.maxMainnetGasPrice = conf.maxGasPrice * 1000000000 // maxGasPrice is in gwei, convert to wei } - addWallet(account) { - super.addWallet(account) - this.addWalletAccount(this.mainnetWeb3, account) - } - - getMainnetWeb3TransportProvider(): HttpProvider | WebSocketProvider { - let provider - let web3Provider - const { web3Transport, websocketWeb3Provider, httpWeb3Provider } = this.conf.ethereumMainnet - const { log } = this - - switch (web3Transport) { - case 'WebSocket': - provider = websocketWeb3Provider - web3Provider = new WebsocketProvider(provider) - break - - default: - case 'HttpProvider': { - provider = httpWeb3Provider - web3Provider = HttpProviderFactory.create(provider) - break - } - } - - log.debug('mainnet', { web3Provider, provider }) - return web3Provider - } - async init() { const { log, conf } = this const { ethereumMainnet, env } = conf log.debug('Initializing wallet mainnet:', { mainnet: ethereumMainnet }) - const mainnetWeb3 = new Web3(this.getMainnetWeb3TransportProvider(), null, web3Default) + const { publicClient: mainnetPublicClient, walletClient: mainnetWalletClient } = + await this.createClients(ethereumMainnet) const mainnetTxManager = getManager(ethereumMainnet.network_id) - const { eth } = mainnetWeb3 const mainnetAddresses = [] - assign(mainnetTxManager, { getTransactionCount: eth.getTransactionCount }) - assign(eth, web3Default, { transactionPollingTimeout: 600 }) // slow ropsten - assign(this, { mainnetWeb3, mainnetTxManager, mainnetAddresses }) + mainnetTxManager.getTransactionCount = address => mainnetPublicClient.getTransactionCount({ address }) + assign(this, { mainnetPublicClient, mainnetWalletClient, mainnetTxManager, mainnetAddresses }) - await super.init() + const ready = await super.init() + if (!ready) return false - if (env !== 'production' && this.mainnetWeb3) { + if (env !== 'production' && this.mainnetPublicClient) { log.info('Initializing adminwallet mainnet addresses', { addresses: this.addresses }) await Promise.all( this.addresses.map(async addr => { - const mainnetBalance = await this.mainnetWeb3.eth.getBalance(addr) + const mainnetBalance = await this.mainnetPublicClient.getBalance({ address: addr }) log.info(`try mainnnet address ${addr}:`, { mainnetBalance, adminMinBalance }) - if (parseFloat(web3Utils.fromWei(mainnetBalance, 'gwei')) > adminMinBalance * 100) { + if (parseFloat(formatUnits(mainnetBalance, 9)) > adminMinBalance * 100) { log.info(`admin wallet ${addr} mainnet balance ${mainnetBalance}`) this.mainnetAddresses.push(addr) } @@ -117,13 +86,11 @@ class AdminWallet extends Web3Wallet { const { log } = this try { - const { onTransactionHash, onReceipt, onConfirmation, onError } = txCallbacks - gas = gas || - (await tx - .estimateGas() - .then(gas => gas + 200000) // buffer for proxy contract, reimburseGas?, and low gas unexpected failures + (await this.mainnetPublicClient + .estimateGas({ ...tx, account: forceAddress || this.address }) + .then(gas => Number(gas) + 200000) .catch(e => { log.warn('Failed to estimate gas for tx mainnet', e.message, e) return defaultGas @@ -140,14 +107,14 @@ class AdminWallet extends Web3Wallet { log.debug('getting tx lock mainnet:', { uuid, forceAddress }) - const { nonce, release, fail, address } = await this.mainnetTxManager.lock(forceAddress || this.mainnetAddresses) + const { nonce, release, address } = await this.mainnetTxManager.lock(forceAddress || this.mainnetAddresses) log.debug('got tx lock mainnet:', { uuid, address, forceAddress }) let balance = NaN if (this.conf.env === 'development') { - balance = await this.mainnetWeb3.eth.getBalance(address) + balance = await this.mainnetPublicClient.getBalance({ address }) } currentAddress = address @@ -161,112 +128,23 @@ class AdminWallet extends Web3Wallet { isKMS: this.isKMSWallet(address) }) - // Get PromiEvent - either from KMS signing or regular signing - let promiEvent - if (this.isKMSWallet(address) && this.kmsWallet) { - // Sign transaction with KMS, then create PromiEvent synchronously - const signedTx = await this._signTransactionWithKMS(tx, address, { - gas, - gasPrice: gasPrice.toString(), - nonce, - chainId: this.networkIdMainnet - }) - promiEvent = this.web3.eth.sendSignedTransaction(signedTx) - } else { - // Use traditional signing flow - promiEvent = tx.send({ - gas, - gasPrice, - nonce, - from: address - }) - } - - // Wrap PromiEvent with shared event handlers, but handle mainnet-specific retry logic - return new Promise((res, rej) => { - promiEvent - .on('transactionHash', h => { - release() - log.debug('got tx hash mainnet:', { txhash: h, uuid }) - - if (onTransactionHash) { - onTransactionHash(h) - } - }) - .on('receipt', r => { - log.debug('got tx receipt mainnet:', { uuid }) - - if (onReceipt) { - onReceipt(r) - } - - res(r) - }) - .on('confirmation', c => { - if (onConfirmation) { - onConfirmation(c) - } - }) - .on('error', async exception => { - const { message } = exception - - if (isFundsError(exception)) { - balance = await this.mainnetWeb3.eth.getBalance(address) - - log.warn('sendTransaciton funds issue retry mainnet', { - errMessage: message, - nonce, - gas, - gasPrice, - address, - balance, - uuid - }) - - await this.mainnetTxManager.unlock(address) - - try { - await this.sendTransaction(tx, txCallbacks, { gas, gasPrice }).then(res) - } catch (e) { - await this.mainnetTxManager.unlock(address) - rej(e) - } - } else if (isNonceError(exception)) { - let netNonce = parseInt(await this.mainnetWeb3.eth.getTransactionCount(address)) - - log.warn('sendTransaciton nonce failure retry mainnet', { - errMessage: message, - nonce, - gas, - gasPrice, - address, - newNonce: netNonce, - uuid - }) - - await this.mainnetTxManager.unlock(address, netNonce) - - try { - await this.sendTransactionMainnet(tx, txCallbacks, { gas, gasPrice }, forceAddress).then(res) - } catch (e) { - await this.mainnetTxManager.unlock(address) - rej(e) - } - } else { - fail() - - if (onError) { - onError(exception) - } - - log.error('sendTransaction error mainnet:', message, exception, { from: address, uuid }) - rej(exception) - } - }) - }) + return await this._sendViemTransaction( + tx, + address, + { gas, gasPrice, nonce }, + txCallbacks, + { release, timeout: 600000 }, + { publicClient: this.mainnetPublicClient, walletClient: this.mainnetWalletClient } + ) } catch (e) { - await this.mainnetTxManager.unlock(currentAddress) - throw new Error(e) + if (currentAddress) { + const netNonce = await this.mainnetPublicClient.getTransactionCount({ address: currentAddress }) + await this.mainnetTxManager.unlock(currentAddress, netNonce) + if (isNonceError(e) || isFundsError(e)) { + return this.sendTransactionMainnet(tx, txCallbacks, { gas, gasPrice }, forceAddress) + } + } + throw e } } } diff --git a/src/server/blockchain/BaseAdminWallet.js b/src/server/blockchain/BaseAdminWallet.js index 5d096d200..09b138ae3 100644 --- a/src/server/blockchain/BaseAdminWallet.js +++ b/src/server/blockchain/BaseAdminWallet.js @@ -24,12 +24,9 @@ export class BaseAdminWallet extends Web3Wallet { const ready = super.initialize() return ready.then(r => { if (r) { - this.faucetContract = new this.web3.eth.Contract( + this.faucetContract = this.getContract( SuperfluidFaucetABI.abi, - get(ContractsAddress, `${this.network}.SuperfluidFaucet`), - { - from: this.address - } + get(ContractsAddress, `${this.network}.SuperfluidFaucet`) ) } return r @@ -40,11 +37,8 @@ export class BaseAdminWallet extends Web3Wallet { const logger = customLogger || this.log if (!this.faucetContract) return true if (await this.celoWallet.isConnected(address)) { - const { baseFeePerGas = 1e7 } = await this.web3.eth.getBlock('latest') - const canTop = await this.faucetContract.methods - .canTop(address, baseFeePerGas) - .call() - .catch(() => true) + const { baseFeePerGas = 1e7 } = await this.publicClient.getBlock({ blockTag: 'latest' }) + const canTop = await this.faucetContract.read.canTop([address, baseFeePerGas]).catch(() => true) if (canTop) { return this.topWalletFaucet(address, logger).catch(() => false) } diff --git a/src/server/blockchain/MultiWallet.js b/src/server/blockchain/MultiWallet.js index dea5ae1e3..c97677f68 100644 --- a/src/server/blockchain/MultiWallet.js +++ b/src/server/blockchain/MultiWallet.js @@ -58,7 +58,7 @@ class MultiWallet { if (chainId === 'all') { // ban on chains that have ubi const results = await Promise.all( - this.wallets.filter(_ => Number(_.UBIContract?._address) > 0).map(wallet => runTx(wallet).catch(e => e)) + this.wallets.filter(_ => Number(_.UBIContract?.address) > 0).map(wallet => runTx(wallet).catch(e => e)) ) const error = results.find(isError) @@ -83,7 +83,7 @@ class MultiWallet { if (chainId === 'all') { // topwallet on chains that have ubi const results = await Promise.all( - this.wallets.filter(_ => Number(_.UBIContract?._address) > 0).map(wallet => runTx(wallet).catch(e => e)) + this.wallets.filter(_ => Number(_.UBIContract?.address) > 0).map(wallet => runTx(wallet).catch(e => e)) ) const error = results.find(isError) diff --git a/src/server/blockchain/Web3Wallet.js b/src/server/blockchain/Web3Wallet.js index 5ddd899ef..bef97c862 100644 --- a/src/server/blockchain/Web3Wallet.js +++ b/src/server/blockchain/Web3Wallet.js @@ -1,12 +1,15 @@ // @flow import Crypto from 'crypto' -import Web3 from 'web3' +// import viemFallbackClient directly to prevent other packages from being imported inadvertently +import { createViemFallbackClient } from '@goodwidget/core/viemFallbackClient' +import { defineChain, encodeFunctionData, formatEther, formatUnits, getContract } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import * as chains from 'viem/chains' import HDKey from 'hdkey' import bip39 from 'bip39-light' import get from 'lodash/get' import assign from 'lodash/assign' import chunk from 'lodash/chunk' -import * as web3Utils from 'web3-utils' import IdentityABI from '@gooddollar/goodprotocol/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json' import GoodDollarABI from '@gooddollar/goodcontracts/build/contracts/GoodDollar.min.json' import UBIABI from '@gooddollar/goodprotocol/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json' @@ -15,11 +18,9 @@ import ContractsAddress from '@gooddollar/goodprotocol/releases/deployment.json' import FaucetABI from '@gooddollar/goodprotocol/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json' import BuyGDFactoryABI from '@gooddollar/goodprotocol/artifacts/abis/BuyGDCloneFactory.min.json' import BuyGDABI from '@gooddollar/goodprotocol/artifacts/abis/BuyGDCloneV2.min.json' -import { toChecksumAddress, sha3 } from 'web3-utils' import conf from '../server.config' import logger from '../../imports/logger' -import { isNonceError, isFundsError } from '../utils/eth' import { retry as retryAsync, withTimeout } from '../utils/async' import { type TransactionReceipt } from './blockchain-types' @@ -30,11 +31,7 @@ import { KMSWallet } from './KMSWallet' const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000' const FUSE_TX_TIMEOUT = 25000 // should be confirmed after max 5 blocks (25sec) - -// Force keccak module to load at import time by calling sha3 -// This ensures keccak is loaded synchronously before Jest can tear down -// Using a dummy input to trigger the import without side effects -void sha3('0x00') +const rpcCache = new Map() //extend admin abi with genericcallbatch const AdminWalletABI = [ @@ -80,16 +77,9 @@ export const forceUserToUseFaucet = conf.forceFaucetCall export const defaultGas = 500000 -export const web3Default = { - defaultBlock: 'latest', - transactionBlockTimeout: 5, - transactionConfirmationBlocks: 1, - transactionPollingTimeout: 30 -} - /** * Exported as AdminWallet - * Interface with blockchain contracts via web3 using HDWalletProvider + * Interface with blockchain contracts through GoodWidget's viem fallback clients. */ export class Web3Wallet { // defining vars here breaks "inheritance" @@ -145,50 +135,108 @@ export class Web3Wallet { return _readyPromise } - getWeb3TransportProvider(): HttpProvider | WebSocketProvider { - const { log } = this - let provider - let web3Provider - let transport = this.ethereum.web3Transport - switch (transport) { - case 'WebSocket': - provider = this.ethereum.websocketWeb3Provider - web3Provider = new Web3.providers.WebsocketProvider(provider) - break - - case 'HttpProvider': - default: - provider = this.ethereum.httpWeb3Provider.split(',')[0] - web3Provider = new Web3.providers.HttpProvider(provider, { - timeout: FUSE_TX_TIMEOUT - }) - break - } + async createClients(ethereum = this.ethereum) { + const chainId = Number(ethereum.network_id) + const rpcUrls = (ethereum.httpWeb3Provider || '') + .split(',') + .map(url => url.trim()) + .filter(Boolean) + const chain = + Object.values(chains).find(candidate => candidate.id === chainId) || + defineChain({ + id: chainId, + name: `Chain ${chainId}`, + nativeCurrency: { name: 'Native', symbol: 'ETH', decimals: 18 }, + rpcUrls: { default: { http: rpcUrls } } + }) + const clientFactory = createViemFallbackClient( + { + get: key => rpcCache.get(key), + put: (key, value) => { + rpcCache.set(key, value) + } + }, + { + chainIds: [chainId], + rank: false, + onError: error => this.log.warn('RPC discovery failed', { error: error.message }) + } + ) + + const clientOptions = { chain, fallbackRpcs: rpcUrls } + const publicClient = await clientFactory.createPublicClient(clientOptions) + const walletClient = await clientFactory.createWalletClient(clientOptions) + return { publicClient, walletClient } + } - log.debug({ conf, web3Provider, provider }) + getContract(abi, address, publicClient = this.publicClient) { + return getContract({ abi, address, client: publicClient }) + } - log.debug('getWeb3TransportProvider', { - conf: this.conf, - web3Provider, - provider, - wallet: this.name, - network: this.networkId - }) - return web3Provider + contractTransaction(contract, functionName, args = []) { + return { to: contract.address, data: encodeFunctionData({ abi: contract.abi, functionName, args }) } } - addWalletAccount(web3, account) { - const { eth } = web3 + _normalizeTransactionError(error) { + if (typeof error.details !== 'string' || !error.details) return error - eth.accounts.wallet.add(account) - eth.defaultAccount = toChecksumAddress(account.address) + const normalizedError = new Error(error.details, { cause: error }) + for (const key of ['code', 'data', 'receipt', 'transactionHash']) { + if (error[key] !== undefined) normalizedError[key] = error[key] + } + return normalizedError + } + + async _sendViemTransaction(tx, address, txParams, txCallbacks = {}, context = {}, clients = this) { + const { publicClient, walletClient } = clients + const { release = () => {}, onTxHash = () => {}, timeout = FUSE_TX_TIMEOUT } = context + const params = { ...tx, ...txParams, account: this.wallets[address.toLowerCase()] } + for (const key of ['gas', 'gasPrice', 'maxFeePerGas', 'maxPriorityFeePerGas', 'value']) { + if (params[key] !== undefined && params[key] !== null) params[key] = BigInt(params[key]) + } + try { + let hash + if (this.isKMSWallet(address)) { + const signedTx = await this._signTransactionWithKMS(tx, address, { + ...params, + chainId: publicClient.chain.id + }) + hash = await publicClient.sendRawTransaction({ serializedTransaction: signedTx }) + } else { + if (!params.account) throw new Error(`No signing account configured for ${address}`) + hash = await walletClient.sendTransaction(params) + } + onTxHash(hash) + release() + if (txCallbacks.onTransactionHash) txCallbacks.onTransactionHash(hash) + const result = await publicClient.waitForTransactionReceipt({ hash, timeout }) + const receipt = { + ...result, + status: result.status === 'success', + blockNumber: Number(result.blockNumber), + gasUsed: Number(result.gasUsed), + cumulativeGasUsed: Number(result.cumulativeGasUsed), + effectiveGasPrice: result.effectiveGasPrice?.toString() + } + if (!receipt.status) { + const error = new Error(`Transaction reverted: ${hash}`) + error.receipt = receipt + throw error + } + if (txCallbacks.onReceipt) txCallbacks.onReceipt(receipt) + if (txCallbacks.onConfirmation) txCallbacks.onConfirmation(1, receipt) + return receipt + } catch (error) { + const transactionError = this._normalizeTransactionError(error) + if (txCallbacks.onError) txCallbacks.onError(transactionError) + throw transactionError + } } addWallet(account) { const { address } = account const normalizedAddress = address.toLowerCase() - this.addWalletAccount(this.web3, account) this.addresses.push(address) this.wallets[normalizedAddress] = account } @@ -240,9 +288,7 @@ export class Web3Wallet { } this.txManager = getManager(this.ethereum.network_id) - this.web3 = new Web3(this.getWeb3TransportProvider(), null, web3Default) - - assign(this.web3.eth, web3Default) + assign(this, await this.createClients()) // Check if provider supports EIP-1559 once on wallet creation and cache the result // This avoids repeated RPC calls for the same network @@ -334,7 +380,8 @@ export class Web3Wallet { for (let i = 0; i < this.numberOfAdminWalletAccounts; i++) { const path = "m/44'/60'/0'/0/" + i let addrNode = root.derive(path) - let account = this.web3.eth.accounts.privateKeyToAccount('0x' + addrNode._privateKey.toString('hex')) + let account = privateKeyToAccount('0x' + addrNode._privateKey.toString('hex')) + account.privateKey = '0x' + addrNode._privateKey.toString('hex') this.addWallet(account) } @@ -342,7 +389,8 @@ export class Web3Wallet { log.info('WalletInit: Initialized by mnemonic:', { address: this.addresses }) } else if (this.conf.privateKey) { // Fallback to private key if mnemonic is not configured - let account = this.web3.eth.accounts.privateKeyToAccount(this.conf.privateKey) + let account = privateKeyToAccount(this.conf.privateKey) + account.privateKey = this.conf.privateKey this.address = account.address this.addWallet(account) @@ -368,16 +416,18 @@ export class Web3Wallet { // Reset per-run so re-running init() doesn't keep stacking addresses found by a previous run. this.filledAddresses = [] - const adminWalletContractBalance = await this.web3.eth.getBalance(adminWalletAddress) + const adminWalletContractBalance = await this.publicClient + .getBalance({ address: adminWalletAddress }) + .then(balance => balance.toString()) log.info(`WalletInit: AdminWallet contract balance`, { adminWalletContractBalance, adminWalletAddress }) // Initialize without `from` first, then re-bind after selecting a valid admin wallet. - this.proxyContract = new this.web3.eth.Contract(AdminWalletABI, adminWalletAddress) + this.proxyContract = this.getContract(AdminWalletABI, adminWalletAddress) - const maxAdminBalance = await this.proxyContract.methods.adminToppingAmount().call() - const minAdminBalance = parseInt(web3Utils.fromWei(maxAdminBalance, 'gwei')) / 2 + const maxAdminBalance = await this.proxyContract.read.adminToppingAmount([]) + const minAdminBalance = parseInt(formatUnits(BigInt(maxAdminBalance), 9)) / 2 - if (web3Utils.fromWei(adminWalletContractBalance, 'gwei') < minAdminBalance * this.addresses.length) { + if (formatUnits(BigInt(adminWalletContractBalance), 9) < minAdminBalance * this.addresses.length) { log.error('AdminWallet contract low funds') await sendSlackAlert({ msg: `AdminWallet contract low funds ${this.name}`, @@ -386,7 +436,7 @@ export class Web3Wallet { }) } - this.txManager.getTransactionCount = this.web3.eth.getTransactionCount + this.txManager.getTransactionCount = address => this.publicClient.getTransactionCount({ address }) await this.txManager.createListIfNotExists(this.addresses) log.info('WalletInit: Initialized wallet queue manager') @@ -394,10 +444,10 @@ export class Web3Wallet { log.info('Initializing adminwallet addresses', { addresses: this.addresses }) for (const addr of this.addresses) { - const balance = await this.web3.eth.getBalance(addr) + const balance = await this.publicClient.getBalance({ address: addr }).then(balance => balance.toString()) const isAdminWallet = await this.isVerifiedAdmin(addr) - if (isAdminWallet && parseFloat(web3Utils.fromWei(balance, 'gwei')) > minAdminBalance) { + if (isAdminWallet && parseFloat(formatUnits(BigInt(balance), 9)) > minAdminBalance) { log.info(`WalletInit: set default wallet to ${addr} with balance ${balance}`) this.address = addr break @@ -419,7 +469,7 @@ export class Web3Wallet { this.address = this.addresses[0] } - this.proxyContract = new this.web3.eth.Contract(AdminWalletABI, adminWalletAddress, { from: this.address }) + this.proxyContract = this.getContract(AdminWalletABI, adminWalletAddress) if (this.conf.topAdminsOnStartup) { log.info('WalletInit: calling topAdmins...') @@ -430,12 +480,12 @@ export class Web3Wallet { await Promise.all( this.addresses.map(async addr => { - const balance = await this.web3.eth.getBalance(addr) + const balance = await this.publicClient.getBalance({ address: addr }).then(balance => balance.toString()) const isAdminWallet = await this.isVerifiedAdmin(addr) log.info(`WalletInit: try address ${addr}:`, { balance, isAdminWallet, minAdminBalance }) - if (isAdminWallet && parseFloat(web3Utils.fromWei(balance, 'gwei')) > minAdminBalance) { + if (isAdminWallet && parseFloat(formatUnits(BigInt(balance), 9)) > minAdminBalance) { log.info(`WalletInit: admin wallet ${addr} balance ${balance}`) this.filledAddresses.push(addr) } @@ -455,42 +505,31 @@ export class Web3Wallet { } } - this.identityContract = new this.web3.eth.Contract( + this.identityContract = this.getContract( IdentityABI.abi, - get(ContractsAddress, `${this.network}.Identity`, ADDRESS_ZERO), - { from: this.address } + get(ContractsAddress, `${this.network}.Identity`, ADDRESS_ZERO) ) const oldIdentity = get(ContractsAddress, `${this.network}.IdentityOld`) if (oldIdentity) { - this.oldIdentityContract = new this.web3.eth.Contract(IdentityABI.abi, oldIdentity, { from: this.address }) + this.oldIdentityContract = this.getContract(IdentityABI.abi, oldIdentity) } - this.tokenContract = new this.web3.eth.Contract( + this.tokenContract = this.getContract( GoodDollarABI.abi, - get(ContractsAddress, `${this.network}.GoodDollar`, ADDRESS_ZERO), - { from: this.address } + get(ContractsAddress, `${this.network}.GoodDollar`, ADDRESS_ZERO) ) - this.UBIContract = new this.web3.eth.Contract( - UBIABI.abi, - get(ContractsAddress, `${this.network}.UBIScheme`, ADDRESS_ZERO), - { - from: this.address - } - ) + this.UBIContract = this.getContract(UBIABI.abi, get(ContractsAddress, `${this.network}.UBIScheme`, ADDRESS_ZERO)) - this.faucetContract = new this.web3.eth.Contract( + this.faucetContract = this.getContract( FaucetABI.abi, get( ContractsAddress, `${this.network}.FuseFaucet`, get(ContractsAddress, `${this.network}.Faucet`), ADDRESS_ZERO - ), - { - from: this.address - } + ) ) const buygdAddress = get( @@ -499,13 +538,13 @@ export class Web3Wallet { get(ContractsAddress, `${this.network}.BuyGDFactoryV2`, get(ContractsAddress, `${this.network}.BuyGDFactory`)) ) if (buygdAddress) { - this.buygdFactoryContract = new this.web3.eth.Contract(BuyGDFactoryABI.abi, buygdAddress, { - from: this.address - }) + this.buygdFactoryContract = this.getContract(BuyGDFactoryABI.abi, buygdAddress) } - let nativebalance = await this.web3.eth.getBalance(this.address) - this.nonce = parseInt(await this.web3.eth.getTransactionCount(this.address)) + let nativebalance = await this.publicClient + .getBalance({ address: this.address }) + .then(balance => balance.toString()) + this.nonce = parseInt(await this.publicClient.getTransactionCount({ address: this.address })) log.debug('WalletInit: AdminWallet Ready:', { activeWallets: this.filledAddresses.length, @@ -542,7 +581,7 @@ export class Web3Wallet { for (let i = 0; i < numAdmins; i += 50) { log.debug('topAdmins sending tx', { adminIdx: i }) await this.sendTransaction( - this.proxyContract.methods.topAdmins(i, i + 50), + this.contractTransaction(this.proxyContract, 'topAdmins', [i, i + 50]), {}, { from: this.addresses[0] }, true, @@ -582,11 +621,11 @@ export class Web3Wallet { } const [identityRecord, lastAuth] = await Promise.all([ - this.identityContract.methods.identities(address).call(), - this.identityContract.methods.lastAuthenticated(address).call().then(parseInt) + this.identityContract.read.identities([address]), + this.identityContract.read.lastAuthenticated([address]).then(parseInt) ]) - if (parseInt(identityRecord.status) === 1) { + if (Number(identityRecord[4]) === 1) { // user was already whitelisted in the past, just needs re-authentication return this.authenticateUser(address, log) } @@ -602,7 +641,7 @@ export class Web3Wallet { conf.enableWhitelistAtChain && chainId !== null && lastAuth === 0 ? [chainId, lastAuthenticated] : [] const txPromise = this.sendTransaction( - this.proxyContract.methods.whitelist(address, did, ...txExtraArgs), + this.contractTransaction(this.proxyContract, 'whitelist', [address, did, ...txExtraArgs]), { onTransactionHash }, @@ -634,21 +673,28 @@ export class Web3Wallet { const log = customLogger || this.log try { - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'authenticate', - type: 'function', - inputs: [ - { - type: 'address', - name: 'account' - } - ] - }, - [address] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'authenticate', + type: 'function', + inputs: [ + { + type: 'address', + name: 'account' + } + ] + } + ], + functionName: 'authenticate', + args: [address] + }) - const transaction = await this.proxyContract.methods.genericCall(this.identityContract._address, encodedCall, 0) + const transaction = await this.contractTransaction(this.proxyContract, 'genericCall', [ + this.identityContract.address, + encodedCall, + 0 + ]) const tx = await this.sendTransaction(transaction, {}, undefined, true, log) log.info('authenticating user success:', { address, tx, wallet: this.name }) @@ -665,7 +711,7 @@ export class Web3Wallet { const { log } = this try { - const result = await this.identityContract.methods.authenticationPeriod().call().then(parseInt) + const result = await this.identityContract.read.authenticationPeriod([]).then(parseInt) return result } catch (exception) { @@ -680,7 +726,7 @@ export class Web3Wallet { const { log } = this try { - const result = await this.identityContract.methods.getWhitelistedOnChainId(account).call().then(parseInt) + const result = await this.identityContract.read.getWhitelistedOnChainId([account]).then(parseInt) return result } catch (exception) { @@ -696,15 +742,13 @@ export class Web3Wallet { try { const [newResult, oldResult] = await Promise.all([ - this.identityContract.methods - .lastAuthenticated(account) - .call() + this.identityContract.read + .lastAuthenticated([account]) .then(parseInt) .catch(() => 0), this.oldIdentityContract - ? this.oldIdentityContract.methods - .lastAuthenticated(account) - .call() + ? this.oldIdentityContract.read + .lastAuthenticated([account]) .then(parseInt) .catch(() => 0) : Promise.resolve(0) @@ -727,12 +771,12 @@ export class Web3Wallet { async blacklistUser(address: string): Promise { const { log } = this - const tx: TransactionReceipt = await this.sendTransaction(this.proxyContract.methods.blacklist(address)).catch( - e => { - log.error('Error blackListUser', e.message, e, { address }) - throw e - } - ) + const tx: TransactionReceipt = await this.sendTransaction( + this.contractTransaction(this.proxyContract, 'blacklist', [address]) + ).catch(e => { + log.error('Error blackListUser', e.message, e, { address }) + throw e + }) return tx } @@ -746,7 +790,7 @@ export class Web3Wallet { const { log } = this const tx: TransactionReceipt = await this.sendTransaction( - this.proxyContract.methods.removeWhitelist(address) + this.contractTransaction(this.proxyContract, 'removeWhitelist', [address]) ).catch(e => { log.error('Error removeWhitelisted', e.message, e, { address }) throw e @@ -763,13 +807,10 @@ export class Web3Wallet { async isVerified(address: string): Promise { const { log } = this - const tx: boolean = await this.identityContract.methods - .isWhitelisted(address) - .call() - .catch(e => { - log.error('Error isVerified', e.message, e) - throw e - }) + const tx: boolean = await this.identityContract.read.isWhitelisted([address]).catch(e => { + log.error('Error isVerified', e.message, e) + throw e + }) return tx } @@ -782,26 +823,20 @@ export class Web3Wallet { async isConnected(address: string): Promise { const { log } = this - const tx: string = await this.identityContract.methods - .getWhitelistedRoot(address) - .call() - .catch(e => { - log.error('Error isConnected', e.message, e) - throw e - }) + const tx: string = await this.identityContract.read.getWhitelistedRoot([address]).catch(e => { + log.error('Error isConnected', e.message, e) + throw e + }) return tx !== ADDRESS_ZERO } async getDID(address: string): Promise { const { log } = this - const tx: boolean = await this.identityContract.methods - .addrToDID(address) - .call() - .catch(e => { - log.error('Error getDID', e.message, e) - throw e - }) + const tx: boolean = await this.identityContract.read.addrToDID([address]).catch(e => { + log.error('Error getDID', e.message, e) + throw e + }) return tx } @@ -813,13 +848,10 @@ export class Web3Wallet { async isVerifiedAdmin(address: string): Promise { const { log } = this - const tx: boolean = await this.proxyContract.methods - .isAdmin(address) - .call() - .catch(e => { - log.error('Error isAdmin', e.message, e) - throw e - }) + const tx: boolean = await this.proxyContract.read.isAdmin([address]).catch(e => { + log.error('Error isAdmin', e.message, e) + throw e + }) return tx } @@ -845,9 +877,14 @@ export class Web3Wallet { // simulate tx to detect revert const canTopOrError = await retryAsync( () => - this.proxyContract.methods - .topWallet(address) - .call() + this.publicClient + .simulateContract({ + address: this.proxyContract.address, + abi: this.proxyContract.abi, + functionName: 'topWallet', + args: [address], + account: this.address + }) .then(() => true) .catch(e => { if (e.message.search(/VM execution|reverted/i) >= 0) { @@ -865,7 +902,9 @@ export class Web3Wallet { }) if (canTopOrError === false) { - let userBalance = web3Utils.toBN(await this.web3.eth.getBalance(address)) + let userBalance = BigInt( + await this.publicClient.getBalance({ address: address }).then(balance => balance.toString()) + ) logger.debug('Topwallet will revert, skipping', { address, canTopOrError, wallet: this.name, userBalance }) return false } @@ -877,7 +916,7 @@ export class Web3Wallet { } const res = await this.sendTransaction( - this.proxyContract.methods.topWallet(address), + this.contractTransaction(this.proxyContract, 'topWallet', [address]), { onTransactionHash }, undefined, true, @@ -907,24 +946,27 @@ export class Web3Wallet { }) try { const datas = addresses.map(address => { - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'banAddress', - type: 'function', - inputs: [ - { - type: 'address', - name: 'account' - } - ] - }, - [address] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'banAddress', + type: 'function', + inputs: [ + { + type: 'address', + name: 'account' + } + ] + } + ], + functionName: 'banAddress', + args: [address] + }) return encodedCall }) - const contracts = addresses.map(() => this.faucetContract._address) + const contracts = addresses.map(() => this.faucetContract.address) const values = addresses.map(() => 0) - const transaction = this.proxyContract.methods.genericCallBatch(contracts, datas, values) + const transaction = this.contractTransaction(this.proxyContract, 'genericCallBatch', [contracts, datas, values]) const onTransactionHash = hash => void logger.debug('banInFaucet got txhash:', { hash, addresses, wallet: this.name }) const res = await this.sendTransaction(transaction, { onTransactionHash }, undefined, true, logger) @@ -942,14 +984,14 @@ export class Web3Wallet { const logger = customLogger || this.log // Check if faucet contract is properly initialized with a valid address - const faucetAddress = this.faucetContract?.options?.address + const faucetAddress = this.faucetContract?.address if (!faucetAddress || faucetAddress === ADDRESS_ZERO) { logger.debug('topWalletFaucet: no valid faucet contract address', { wallet: this.name }) return false // fall back to admin wallet topping } try { - const canTop = await this.faucetContract.methods.canTop(address).call() + const canTop = await this.faucetContract.read.canTop([address]) logger.debug('topWalletFaucet canTop result:', { address, canTop, wallet: this.name }) @@ -957,9 +999,11 @@ export class Web3Wallet { return false //we try to top from admin wallet } - let userBalance = web3Utils.toBN(await this.web3.eth.getBalance(address)) - const gasPrice = await this.web3.eth.getGasPrice() - let faucetTxCost = web3Utils.toBN(this.faucetTxCost).mul(web3Utils.toBN(gasPrice)) + let userBalance = BigInt( + await this.publicClient.getBalance({ address: address }).then(balance => balance.toString()) + ) + const gasPrice = await this.publicClient.getGasPrice() + let faucetTxCost = BigInt(this.faucetTxCost) * BigInt(gasPrice) logger.debug('topWalletFaucet:', { address, @@ -969,26 +1013,33 @@ export class Web3Wallet { }) // user can't call faucet directly - if (forceUserToUseFaucet && userBalance.gte(faucetTxCost)) { + if (forceUserToUseFaucet && userBalance >= faucetTxCost) { logger.debug('User has enough gas to call faucet', { address, wallet: this.name }) return true //return true so we don't call AdminWallet to topwallet } - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'topWallet', - type: 'function', - inputs: [ - { - type: 'address', - name: 'account' - } - ] - }, - [address] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'topWallet', + type: 'function', + inputs: [ + { + type: 'address', + name: 'account' + } + ] + } + ], + functionName: 'topWallet', + args: [address] + }) - const transaction = this.proxyContract.methods.genericCall(this.faucetContract._address, encodedCall, 0) + const transaction = this.contractTransaction(this.proxyContract, 'genericCall', [ + this.faucetContract.address, + encodedCall, + 0 + ]) const onTransactionHash = hash => void logger.debug('topWalletFaucet got txhash:', { hash, address, wallet: this.name }) const res = await this.sendTransaction(transaction, { onTransactionHash }, undefined, true, logger) @@ -1005,23 +1056,30 @@ export class Web3Wallet { const logger = customLogger || this.log try { - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'fishMulti', - type: 'function', - inputs: [ - { - type: 'address[]', - name: '_accounts' - } - ] - }, - [toFish] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'fishMulti', + type: 'function', + inputs: [ + { + type: 'address[]', + name: '_accounts' + } + ] + } + ], + functionName: 'fishMulti', + args: [toFish] + }) - logger.info('fishMulti sending tx', { encodedCall, toFish, ubischeme: this.UBIContract._address }) + logger.info('fishMulti sending tx', { encodedCall, toFish, ubischeme: this.UBIContract.address }) - const transaction = await this.proxyContract.methods.genericCall(this.UBIContract._address, encodedCall, 0) + const transaction = await this.contractTransaction(this.proxyContract, 'genericCall', [ + this.UBIContract.address, + encodedCall, + 0 + ]) const tx = await this.sendTransaction(transaction, {}, { gas: 2000000 }, false, logger) logger.info('fishMulti success', { toFish, tx: tx.transactionHash }) @@ -1036,66 +1094,80 @@ export class Web3Wallet { async swaphelper(address, customLogger = null) { const logger = customLogger || this.log - const predictedAddress = await this.buygdFactoryContract.methods.predict(address).call() - const isHelperDeployed = await this.web3.eth.getCode(predictedAddress).then(code => code !== '0x') + const predictedAddress = await this.buygdFactoryContract.read.predict([address]) + const isHelperDeployed = await this.publicClient + .getBytecode({ address: predictedAddress }) + .then(code => Boolean(code && code !== '0x')) try { let swapResult if (isHelperDeployed) { - const buygdContract = new this.web3.eth.Contract(BuyGDABI.abi, predictedAddress) + const buygdContract = this.getContract(BuyGDABI.abi, predictedAddress) //simulate tx - const estimatedGas = await buygdContract.methods - .swap(0, this.proxyContract._address) - .estimateGas() + const estimatedGas = await buygdContract.estimateGas + .swap([0, this.proxyContract.address], { account: this.address }) .then(_ => parseInt(_) + 200000) - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'swap', - type: 'function', - inputs: [ - { - type: 'uint256', - name: 'minAmount' - }, - { - type: 'address', - name: 'gasRefund' - } - ] - }, - [0, this.proxyContract._address] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'swap', + type: 'function', + inputs: [ + { + type: 'uint256', + name: 'minAmount' + }, + { + type: 'address', + name: 'gasRefund' + } + ] + } + ], + functionName: 'swap', + args: [0, this.proxyContract.address] + }) - const transaction = this.proxyContract.methods.genericCall(predictedAddress, encodedCall, 0) + const transaction = this.contractTransaction(this.proxyContract, 'genericCall', [ + predictedAddress, + encodedCall, + 0 + ]) const onTransactionHash = hash => void logger.debug('swaphelper swap got txhash:', { estimatedGas, hash, address, wallet: this.name }) swapResult = await this.sendTransaction(transaction, { onTransactionHash }, { gas: estimatedGas }, true, logger) } else { //simulate tx - const estimatedGas = await this.buygdFactoryContract.methods - .createAndSwap(address, 0) - .estimateGas() + const estimatedGas = await this.buygdFactoryContract.estimateGas + .createAndSwap([address, 0], { account: this.address }) .then(_ => parseInt(_) + 200000) - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'createAndSwap', - type: 'function', - inputs: [ - { - type: 'address', - name: 'account' - }, - { - type: 'uint256', - name: 'minAmount' - } - ] - }, - [address, 0] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'createAndSwap', + type: 'function', + inputs: [ + { + type: 'address', + name: 'account' + }, + { + type: 'uint256', + name: 'minAmount' + } + ] + } + ], + functionName: 'createAndSwap', + args: [address, 0] + }) - const transaction = this.proxyContract.methods.genericCall(this.buygdFactoryContract._address, encodedCall, 0) + const transaction = this.contractTransaction(this.proxyContract, 'genericCall', [ + this.buygdFactoryContract.address, + encodedCall, + 0 + ]) const onTransactionHash = hash => void logger.debug('swaphelper createAndSwap got txhash:', { estimatedGas, hash, address, wallet: this.name }) swapResult = await this.sendTransaction(transaction, { onTransactionHash }, { gas: estimatedGas }, true, logger) @@ -1121,26 +1193,33 @@ export class Web3Wallet { const logger = customLogger || this.log try { - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'transfer', - type: 'function', - inputs: [ - { - type: 'address', - name: 'to' - }, - { - type: 'uint256', - name: 'value' - } - ] - }, - [to, value] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'transfer', + type: 'function', + inputs: [ + { + type: 'address', + name: 'to' + }, + { + type: 'uint256', + name: 'value' + } + ] + } + ], + functionName: 'transfer', + args: [to, value] + }) logger.info('transferWalletGoodDollars sending tx', { encodedCall, to, value }) - const transaction = await this.proxyContract.methods.genericCall(this.tokenContract._address, encodedCall, 0) + const transaction = await this.contractTransaction(this.proxyContract, 'genericCall', [ + this.tokenContract.address, + encodedCall, + 0 + ]) const tx = await this.sendTransaction(transaction, {}, undefined, false, logger) logger.info('transferWalletGoodDollars success', { to, value, tx: tx.transactionHash }) @@ -1154,7 +1233,7 @@ export class Web3Wallet { } async getAddressBalance(address: string): Promise { - return this.web3.eth.getBalance(address) + return this.publicClient.getBalance({ address: address }).then(balance => balance.toString()) } /** @@ -1165,7 +1244,7 @@ export class Web3Wallet { const { log } = this return this.getAddressBalance(this.address) - .then(b => parseFloat(web3Utils.fromWei(b))) + .then(b => parseFloat(formatEther(BigInt(b)))) .catch(e => { log.error('Error getBalance', e.message, e) throw e @@ -1182,25 +1261,32 @@ export class Web3Wallet { const poolAddress = conf.redtentPools[countryCode] try { - let encodedCall = this.web3.eth.abi.encodeFunctionCall( - { - name: 'addMember', - type: 'function', - inputs: [ - { - name: 'member', - type: 'address' - }, - { - name: 'extraData', - type: 'bytes' - } - ] - }, - [account, '0x'] - ) + let encodedCall = encodeFunctionData({ + abi: [ + { + name: 'addMember', + type: 'function', + inputs: [ + { + name: 'member', + type: 'address' + }, + { + name: 'extraData', + type: 'bytes' + } + ] + } + ], + functionName: 'addMember', + args: [account, '0x'] + }) - const transaction = await this.proxyContract.methods.genericCall(poolAddress, encodedCall, 0) + const transaction = await this.contractTransaction(this.proxyContract, 'genericCall', [ + poolAddress, + encodedCall, + 0 + ]) const tx = await this.sendTransaction(transaction, {}, undefined, false, logger) logger.info('registerRedtent success', { account, countryCode, tx: tx.transactionHash, poolAddress }) @@ -1214,15 +1300,12 @@ export class Web3Wallet { } async getFeeEstimates() { - const result = await this.web3.eth.getFeeHistory('0x5', 'latest', [10]) - - console.log('Fee history result:', result) - - const baseFees = result.baseFeePerGas.map(hex => parseInt(hex, 16)) - const rewards = result.reward.map(r => parseInt(r[0], 16)) // 10th percentile + const result = await this.publicClient.getFeeHistory({ blockCount: 5, blockTag: 'latest', rewardPercentiles: [10] }) + const baseFees = result.baseFeePerGas.map(Number) + const rewards = (result.reward || []).map(reward => Number(reward[0])) const latestBaseFee = baseFees[baseFees.length - 1] - const minPriorityFee = Math.min(...rewards) + const minPriorityFee = rewards.length ? Math.min(...rewards) : 0 return { baseFee: Math.floor(latestBaseFee * 1.1), // in wei @@ -1317,14 +1400,14 @@ export class Web3Wallet { const { log } = this try { - const web3 = this.web3 - if (!web3) { - log.warn('No web3 instance available for EIP-1559 check') + const client = this.publicClient + if (!client) { + log.warn('No viem client available for EIP-1559 check') this._supportsEIP1559 = false return false } - const chainId = await web3.eth.getChainId() + const chainId = await client.getChainId() const knownEIP1559Chains = new Set([ 1, // Ethereum Mainnet 11155111, // Ethereum Sepolia @@ -1379,13 +1462,8 @@ export class Web3Wallet { const { gas, maxFeePerGas, maxPriorityFeePerGas, gasPrice, nonce, chainId } = txParams const logger = this.log - // Extract transaction data from Web3 contract method - const txData = tx.encodeABI() - const to = tx._parent._address || tx._parent.options.address - - // Extract value if present (for payable functions like WETH deposit) - // Value can be passed via txParams.value, tx.value, or tx._parent.options.value - const value = txParams.value || tx.value || tx._parent?.options?.value || '0' + const { data: txData, to } = tx + const value = txParams.value ?? tx.value ?? '0' // Build transaction parameters for KMS const kmsTxParams = { @@ -1399,18 +1477,14 @@ export class Web3Wallet { // Add value if non-zero (for payable functions) // kms-ethereum-signing expects value as a decimal string if (value && value !== '0' && value !== 0) { - kmsTxParams.value = value + kmsTxParams.value = value.toString() } - // Normalize gas pricing (deduplicated logic) - const normalizedGas = await this.normalizeGasPricing({ gasPrice, maxFeePerGas, maxPriorityFeePerGas }, logger) - - // Add gas pricing - if (normalizedGas.maxFeePerGas && normalizedGas.maxPriorityFeePerGas) { - kmsTxParams.maxFeePerGas = normalizedGas.maxFeePerGas.toString() - kmsTxParams.maxPriorityFeePerGas = normalizedGas.maxPriorityFeePerGas.toString() - } else if (normalizedGas.gasPrice) { - kmsTxParams.gasPrice = normalizedGas.gasPrice.toString() + if (maxFeePerGas !== undefined && maxPriorityFeePerGas !== undefined) { + kmsTxParams.maxFeePerGas = maxFeePerGas.toString() + kmsTxParams.maxPriorityFeePerGas = maxPriorityFeePerGas.toString() + } else { + kmsTxParams.gasPrice = (gasPrice ?? (await this.publicClient.getGasPrice())).toString() } // Sign transaction with KMS @@ -1420,178 +1494,6 @@ export class Web3Wallet { return signedTx } - /** - * Wrap a PromiEvent with shared event handlers - * @private - */ - _wrapPromiEventWithHandlers( - promiEvent: PromiEvent, - txCallbacks: PromiEvents, - context: { - release: Function, - txuuid: string, - logger: any, - txHash?: string, - address?: string, - nonce?: number, - gas?: number, - maxFeePerGas?: string, - maxPriorityFeePerGas?: string - }, - options: { - fail?: Function, - onTxHash?: Function - } = {} - ): Promise { - const { onTransactionHash, onReceipt, onConfirmation, onError } = txCallbacks - const { release, txuuid, logger, address, nonce, gas, maxFeePerGas, maxPriorityFeePerGas } = context - const { fail, onTxHash } = options - - return new Promise((res, rej) => { - // Verify promiEvent is actually a PromiEvent (has .on method) - if (!promiEvent || typeof promiEvent.on !== 'function') { - const error = new Error( - `Expected PromiEvent but got ${typeof promiEvent}${promiEvent?.constructor?.name ? ` (${promiEvent.constructor.name})` : ''}. This may indicate the PromiEvent was already resolved.` - ) - logger.error('Invalid PromiEvent in _wrapPromiEventWithHandlers', { - type: typeof promiEvent, - hasOn: promiEvent && typeof promiEvent.on, - constructor: promiEvent?.constructor?.name, - keys: promiEvent ? Object.keys(promiEvent).slice(0, 10) : null, - txuuid - }) - rej(error) - return - } - - promiEvent - .on('transactionHash', h => { - context.txHash = h - logger.debug('got tx hash:', { txuuid, txHash: h, wallet: this.name }) - - if (onTransactionHash) { - onTransactionHash(h) - } - if (onTxHash) { - onTxHash(h) - } - }) - .on('sent', payload => { - release() - - if (onTxHash && (typeof context.txHash === 'string' || typeof payload?.params?.[0] === 'string')) { - onTxHash(context.txHash || web3Utils.keccak256(payload.params[0])) - } - logger.debug('tx sent:', { - txHash: context.txHash, - payload, - calcTxHash: typeof payload?.params?.[0] === 'string' && web3Utils.keccak256(payload.params[0]), - txuuid, - wallet: this.name - }) - }) - .on('receipt', r => { - logger.debug('got tx receipt:', { txuuid, txHash: r.transactionHash, wallet: this.name }) - - if (onReceipt) { - onReceipt(r) - } - - res(r) - }) - .on('confirmation', c => { - if (onConfirmation) { - onConfirmation(c) - } - }) - .on('error', async e => { - // Check for funds error if requested (for non-KMS transactions) - if (isFundsError(e) && address) { - const balance = await this.web3.eth.getBalance(address) - logger.warn('sendTransaciton funds issue retry', { - errMessage: e.message, - nonce, - gas, - maxFeePerGas, - maxPriorityFeePerGas, - address, - balance, - wallet: this.name, - network: this.networkId - }) - } - - // Call fail callback if provided (for mainnet error handling) - if (fail) { - fail() - } - - // just warn here, error is also propagated via promise rejection in sendTransaction, and we don't want to log twice for the same error - logger.warn('Transaction error:', { txuuid, error: e.message, wallet: this.name }) - - if (onError) { - onError(e) - } - - rej(e) - }) - }) - } - - /** - * Send transaction using KMS signing (kept for backward compatibility) - * @private - * @param {Object} options - Additional options for mainnet transactions - * @param {Function} options.fail - Optional fail callback for error handling - */ - async sendTransactionWithKMS( - tx: any, - address: string, - txParams: { - gas: number, - maxFeePerGas?: string, - maxPriorityFeePerGas?: string, - gasPrice?: string, - nonce: number, - chainId: number, - value?: string | number - }, - txCallbacks: PromiEvents, - context: { - release: Function, - currentAddress: string, - txuuid: string, - logger: any - }, - options: { - fail?: Function - } = {} - ) { - const { release, txuuid, logger } = context - const { fail } = options - - try { - // Sign transaction with KMS, then create PromiEvent synchronously - const signedTx = await this._signTransactionWithKMS(tx, address, txParams) - const promiEvent = this.web3.eth.sendSignedTransaction(signedTx) - - return this._wrapPromiEventWithHandlers(promiEvent, txCallbacks, { release, txuuid, logger }, { fail }) - } catch (error) { - // Call fail callback if provided (for mainnet error handling) - if (fail) { - fail() - } - release() - logger.error('Failed to send transaction with KMS', { - txuuid, - address, - error: error.message, - wallet: this.name - }) - throw error - } - } - /** * Helper function to handle a tx Send call * @param tx @@ -1626,8 +1528,12 @@ export class Web3Wallet { try { gas = gas || - (await tx - .estimateGas() + (await this.publicClient + .estimateGas({ + ...tx, + value: tx.value === undefined ? undefined : BigInt(tx.value), + account: from || this.address + }) .then(gas => parseInt(gas) + 200000) //buffer for proxy contract, reimburseGas? .catch(e => { logger.warn('Failed to estimate gas for tx', e.message, e, { wallet: this.name, network: this.networkId }) @@ -1639,7 +1545,6 @@ export class Web3Wallet { if (gas > 8000000) { gas = defaultGas } - // Normalize gas pricing (deduplicated logic) const normalizedGas = await this.normalizeGasPricing({ gasPrice, maxFeePerGas, maxPriorityFeePerGas }, logger) gasPrice = normalizedGas.gasPrice @@ -1656,7 +1561,7 @@ export class Web3Wallet { let balance = NaN if (this.conf.env === 'development') { - balance = await this.web3.eth.getBalance(address) + balance = await this.publicClient.getBalance({ address: address }).then(balance => balance.toString()) } currentAddress = address @@ -1673,55 +1578,13 @@ export class Web3Wallet { isKMS: this.isKMSWallet(address) }) - // Extract value if present (for payable functions) - const txValue = tx.value || tx._parent?.options?.value - - // Get PromiEvent - either from KMS signing or regular signing - let promiEvent - if (this.isKMSWallet(address) && this.kmsWallet) { - // Sign transaction with KMS, then create PromiEvent synchronously - const signedTx = await this._signTransactionWithKMS(tx, address, { - gas, - maxFeePerGas, - maxPriorityFeePerGas, - gasPrice, - nonce, - chainId: this.networkId, - value: txValue - }) - promiEvent = this.web3.eth.sendSignedTransaction(signedTx) - } else { - // Use traditional signing flow - const sendParams = { - gas, - maxFeePerGas, - maxPriorityFeePerGas, - gasPrice, - chainId: this.networkId, - nonce, - from: address - } - if (txValue) { - sendParams.value = txValue - } - promiEvent = tx.send(sendParams) - } - - // Wrap PromiEvent with shared event handlers - const txPromise = this._wrapPromiEventWithHandlers( - promiEvent, + const txPromise = this._sendViemTransaction( + tx, + address, + { gas, maxFeePerGas, maxPriorityFeePerGas, gasPrice, nonce }, txCallbacks, { release, - txuuid, - logger, - address, - nonce, - gas, - maxFeePerGas, - maxPriorityFeePerGas - }, - { onTxHash: hash => { txHash = hash || txHash } @@ -1731,20 +1594,24 @@ export class Web3Wallet { const response = await withTimeout(txPromise, FUSE_TX_TIMEOUT, `${this.name} tx timeout`) return response - } catch (e) { + } catch (error) { + const e = this._normalizeTransactionError(error) // error before executing a tx if (!currentAddress) { throw e } //reset nonce on every error, on celo we dont get nonce errors - let netNonce = parseInt(await this.web3.eth.getTransactionCount(currentAddress)) + let netNonce = parseInt(await this.publicClient.getTransactionCount({ address: currentAddress })) //check if tx did go through after timeout or not if (txHash && e.message.toLowerCase().includes('timeout')) { // keeping address locked for another 30 seconds retryAsync( async attempt => { - const receipt = await this.web3.eth.getTransactionReceipt(txHash).catch() + const receipt = await this.publicClient.getTransactionReceipt({ hash: txHash }).catch(error => { + if (error.name === 'TransactionReceiptNotFoundError') return null + throw error + }) logger.debug('retrying for timedout tx', { currentAddress, currentNonce, @@ -1816,7 +1683,7 @@ export class Web3Wallet { return this.sendTransaction( tx, txCallbacks, - { gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas }, + { gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, from }, true, logger ) @@ -1836,7 +1703,7 @@ export class Web3Wallet { return this.sendTransaction( tx, txCallbacks, - { gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas }, + { gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, from }, false, logger ) @@ -1876,106 +1743,16 @@ export class Web3Wallet { async sendNative( params: { from: string, to: string, value: string }, txCallbacks: PromiEvents = {}, - { gas, maxFeePerGas, maxPriorityFeePerGas, gasPrice }: GasValues = { - gas: undefined, - maxFeePerGas: undefined, - maxPriorityFeePerGas: undefined, - gasPrice: undefined - } + gasValues: GasValues = {} ) { - let currentAddress - const { log } = this - - try { - const { onTransactionHash, onReceipt, onConfirmation, onError } = txCallbacks - - gas = gas || defaultGas - - // Normalize gas pricing (deduplicated logic) - const normalizedGas = await this.normalizeGasPricing({ gasPrice, maxFeePerGas, maxPriorityFeePerGas }, log) - gasPrice = normalizedGas.gasPrice - maxFeePerGas = normalizedGas.maxFeePerGas - maxPriorityFeePerGas = normalizedGas.maxPriorityFeePerGas - - const { nonce, release, fail, address } = await this.txManager.lock(this.filledAddresses) - - log.debug('sendNative', { nonce, gas, maxFeePerGas, maxPriorityFeePerGas }) - currentAddress = address - - return new Promise((res, rej) => { - this.web3.eth - .sendTransaction({ - gas, - gasPrice, - maxFeePerGas, - maxPriorityFeePerGas, - chainId: this.networkId, - nonce, - ...params, - from: address - }) - .on('transactionHash', h => { - if (onTransactionHash) { - onTransactionHash(h) - } - - release() - }) - .on('receipt', r => { - if (onReceipt) { - onReceipt(r) - } - - res(r) - }) - .on('confirmation', c => { - if (onConfirmation) { - onConfirmation(c) - } - }) - .on('error', async e => { - const { message } = e - - if (isNonceError(e)) { - let netNonce = parseInt(await this.web3.eth.getTransactionCount(address)) - - log.warn('sendNative nonce failure retry', message, e, { - params, - nonce, - gas, - maxFeePerGas, - maxPriorityFeePerGas, - address, - newNonce: netNonce, - wallet: this.name, - network: this.networkId - }) - - await this.txManager.unlock(address, netNonce) - - try { - await this.sendNative(params, txCallbacks, { gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas }).then( - res - ) - } catch (e) { - rej(e) - } - } else { - fail() - - if (onError) { - onError(e) - } - - log.error('sendNative failed', message, e, { wallet: this.name, network: this.networkId }) - rej(e) - } - }) - }) - } catch (e) { - let netNonce = parseInt(await this.web3.eth.getTransactionCount(currentAddress)) - await this.txManager.unlock(currentAddress, netNonce) - throw new Error(e) - } + const { from, to, value, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas } = params + return this.sendTransaction({ to, value }, txCallbacks, { + gas: gas || defaultGas, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + ...gasValues, + from + }) } } diff --git a/src/server/blockchain/__tests__/adminWallet.test.js b/src/server/blockchain/__tests__/adminWallet.test.js index 0ea22e355..c024e132e 100644 --- a/src/server/blockchain/__tests__/adminWallet.test.js +++ b/src/server/blockchain/__tests__/adminWallet.test.js @@ -1,10 +1,9 @@ -import Web3 from 'web3' +import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts' import AdminWallet from '../AdminWallet' import txManager from '../../utils/tx-manager' -const web3 = new Web3() -const generateWalletAddress = () => web3.eth.accounts.create().address +const generateWalletAddress = () => privateKeyToAccount(generatePrivateKey()).address describe('adminwallet', () => { beforeAll(async () => { @@ -15,7 +14,9 @@ describe('adminwallet', () => { const unverifiedAddress = generateWalletAddress() const tx = await AdminWallet.topWallet(unverifiedAddress).catch(() => false) expect(tx).toBeTruthy() - const balance = await AdminWallet.web3.eth.getBalance(unverifiedAddress) + const balance = await AdminWallet.publicClient + .getBalance({ address: unverifiedAddress }) + .then(balance => balance.toString()) expect(balance).toEqual('6000000000000000') }) @@ -35,26 +36,18 @@ describe('adminwallet', () => { const unverifiedAddress = generateWalletAddress() await AdminWallet.whitelistUser(unverifiedAddress, 'did:gd' + Math.random(), 123) const isVerified = await AdminWallet.isVerified(unverifiedAddress) - const registeredChainId = await AdminWallet.identityContract.methods - .getWhitelistedOnChainId(unverifiedAddress) - .call() + const registeredChainId = await AdminWallet.identityContract.read.getWhitelistedOnChainId([unverifiedAddress]) expect(isVerified).toBeTruthy() - expect(registeredChainId).toBe('123') + expect(registeredChainId).toBe(123n) }) test('adminWallet can authenticate user', async () => { const unverifiedAddress = generateWalletAddress() await AdminWallet.whitelistUser(unverifiedAddress, 'did:gd' + Math.random()) - const lastAuth = await AdminWallet.identityContract.methods - .lastAuthenticated(unverifiedAddress) - .call() - .then(parseInt) + const lastAuth = await AdminWallet.identityContract.read.lastAuthenticated([unverifiedAddress]).then(parseInt) await AdminWallet.authenticateUser(unverifiedAddress) - const lastAuth2 = await AdminWallet.identityContract.methods - .lastAuthenticated(unverifiedAddress) - .call() - .then(parseInt) + const lastAuth2 = await AdminWallet.identityContract.read.lastAuthenticated([unverifiedAddress]).then(parseInt) expect(lastAuth2).toBeGreaterThan(lastAuth) }) diff --git a/src/server/blockchain/__tests__/adminWalletKMS.test.js b/src/server/blockchain/__tests__/adminWalletKMS.test.js index ede6222be..d9adcc709 100644 --- a/src/server/blockchain/__tests__/adminWalletKMS.test.js +++ b/src/server/blockchain/__tests__/adminWalletKMS.test.js @@ -4,12 +4,11 @@ // Uses the shared mock from src/server/db/__mocks__/mongo-db.js jest.mock('../../db/mongo-db') -import Web3 from 'web3' +import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts' import { createAdminWallet } from '../AdminWallet' import conf from '../../server.config' -const web3 = new Web3() -const generateWalletAddress = () => web3.eth.accounts.create().address +const generateWalletAddress = () => privateKeyToAccount(generatePrivateKey()).address /** * Test suite for AdminWallet KMS (AWS Key Management Service) transaction submission @@ -106,7 +105,9 @@ describe('AdminWallet KMS Transaction Submission', () => { expect(receipt.status).toBe(true) // Verify the transaction was sent from a KMS address - const tx = await AdminWallet.web3.eth.getTransaction(receipt.transactionHash) + const tx = await AdminWallet.publicClient + .getTransaction({ hash: receipt.transactionHash }) + .then(transaction => ({ ...transaction, value: transaction.value.toString() })) const usedKMSAddress = tx.from.toLowerCase() expect(AdminWallet.isKMSWallet(usedKMSAddress)).toBe(true) @@ -132,7 +133,9 @@ describe('AdminWallet KMS Transaction Submission', () => { txHash = receipt.transactionHash // Verify the transaction was sent from a KMS address - const tx = await AdminWallet.web3.eth.getTransaction(txHash) + const tx = await AdminWallet.publicClient + .getTransaction({ hash: txHash }) + .then(transaction => ({ ...transaction, value: transaction.value.toString() })) const fromAddress = tx.from.toLowerCase() expect(AdminWallet.isKMSWallet(fromAddress)).toBe(true) @@ -145,107 +148,6 @@ describe('AdminWallet KMS Transaction Submission', () => { } }, 60000) - test('should submit custom transaction using KMS via sendTransaction', async () => { - // WETH contract address (mainnet: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) - // Update this address based on your network - const wethAddress = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' - let txHash = null - - // Amount of ETH to wrap (0.001 ETH) - const depositAmount = '0.001' - - // Encode WETH deposit() function call - // deposit() is a payable function with no parameters - const encodedDeposit = AdminWallet.web3.eth.abi.encodeFunctionCall( - { - name: 'deposit', - type: 'function', - inputs: [] - }, - [] - ) - - // Create a transaction object that mimics a contract method call - const transaction = { - encodeABI: () => encodedDeposit, - estimateGas: async () => { - // Estimate gas for WETH deposit (typically around 50,000) - try { - return await AdminWallet.web3.eth.estimateGas({ - to: wethAddress, - data: encodedDeposit, - value: depositAmount - }) - } catch (e) { - // Fallback to a reasonable estimate if estimation fails - return 50000 - } - }, - send: params => { - // This won't be used for KMS, but required for the interface - return AdminWallet.web3.eth.sendTransaction({ - from: params.from, - to: wethAddress, - data: encodedDeposit, - value: depositAmount, - gas: params.gas, - gasPrice: params.gasPrice, - maxFeePerGas: undefined, - maxPriorityFeePerGas: params.maxPriorityFeePerGas, - nonce: params.nonce, - chainId: params.chainId - }) - }, - _parent: { - _address: wethAddress, - options: { address: wethAddress } - }, - value: depositAmount - } - - const receipt = await AdminWallet.sendTransaction( - transaction, - { - onTransactionHash: hash => { - txHash = hash - console.log('Transaction hash received:', hash) - } - }, - undefined, // use default gas estimation - true, // retry on error - null // use default logger - ) - - expect(receipt).toBeDefined() - expect(receipt.transactionHash).toBeDefined() - expect(txHash).toBe(receipt.transactionHash) - - // Verify the transaction was sent from a KMS address - const tx = await AdminWallet.web3.eth.getTransaction(receipt.transactionHash) - const fromAddress = tx.from.toLowerCase() - - expect(AdminWallet.isKMSWallet(fromAddress)).toBe(true) - - // Verify the transaction was sent to WETH contract - expect(tx.to.toLowerCase()).toBe(wethAddress.toLowerCase()) - - // Verify the transaction included the value (ETH sent for wrapping) - expect(tx.value).toBe(AdminWallet.web3.utils.toWei(depositAmount, 'ether')) - - // Verify it's a WETH deposit call (has encoded function data) - expect(tx.input).toBe(encodedDeposit) - expect(tx.input).not.toBe('0x') - - console.log('WETH deposit transaction submitted using KMS:', { - txHash: receipt.transactionHash, - from: fromAddress, - to: wethAddress, - value: depositAmount, - valueInEth: depositAmount, - function: 'deposit()' - }) - }, 60000) - test('should handle multiple KMS transactions in sequence', async () => { const addresses = [generateWalletAddress(), generateWalletAddress(), generateWalletAddress()] @@ -259,7 +161,9 @@ describe('AdminWallet KMS Transaction Submission', () => { // Verify all transactions were from KMS addresses for (const receipt of receipts) { - const tx = await AdminWallet.web3.eth.getTransaction(receipt.transactionHash) + const tx = await AdminWallet.publicClient + .getTransaction({ hash: receipt.transactionHash }) + .then(transaction => ({ ...transaction, value: transaction.value.toString() })) const fromAddress = tx.from.toLowerCase() expect(AdminWallet.isKMSWallet(fromAddress)).toBe(true) } diff --git a/src/server/blockchain/__tests__/baseWallet.test.js b/src/server/blockchain/__tests__/baseWallet.test.js index f265ad03a..41c6492a4 100644 --- a/src/server/blockchain/__tests__/baseWallet.test.js +++ b/src/server/blockchain/__tests__/baseWallet.test.js @@ -14,7 +14,7 @@ describe('BaseAdminWallet', () => { ContractsAddress.dapptest.SuperfluidFaucet = '0x0c86C82eb8d6a8E991bbc37C58e23344b20520a2' await wallet.ready - expect(wallet.faucetContract._address).not.toBeEmpty() - expect(wallet.proxyContract._address).not.toBeEmpty() + expect(wallet.faucetContract.address).not.toBeEmpty() + expect(wallet.proxyContract.address).not.toBeEmpty() }) }) diff --git a/src/server/blockchain/__tests__/fishManager.test.js b/src/server/blockchain/__tests__/fishManager.test.js index c7bba1464..f488964e8 100644 --- a/src/server/blockchain/__tests__/fishManager.test.js +++ b/src/server/blockchain/__tests__/fishManager.test.js @@ -6,29 +6,8 @@ import stakingModelTasks from '../stakingModelTasks' let fishManager = stakingModelTasks.fishManager const setNextDay = async () => { - await new Promise((res, rej) => - AdminWallet.web3.currentProvider.send( - { - jsonrpc: '2.0', - method: 'evm_increaseTime', - params: [60 * 60 * 24], - id: new Date().getTime() - }, - (err, result) => (err ? rej(err) : res(result)) - ) - ) - - await new Promise((res, rej) => - AdminWallet.web3.currentProvider.send( - { - jsonrpc: '2.0', - method: 'evm_mine', - params: [], - id: new Date().getTime() - }, - (err, result) => (err ? rej(err) : res(result)) - ) - ) + await AdminWallet.publicClient.request({ method: 'evm_increaseTime', params: [60 * 60 * 24] }) + await AdminWallet.publicClient.request({ method: 'evm_mine', params: [] }) } describe.skip('fishManager', () => { @@ -37,9 +16,9 @@ describe.skip('fishManager', () => { }) test(`fishManager get next day should be in the future (need to run script simulateInterestDays.js in goodcontracts)`, async () => { - const blockchainNow = await AdminWallet.web3.eth - .getBlock('latest') - .then(_ => moment(_.timestamp * 1000).startOf('hour')) + const blockchainNow = await AdminWallet.publicClient + .getBlock({ blockTag: 'latest' }) + .then(_ => moment(Number(_.timestamp) * 1000).startOf('hour')) const nextDay = await fishManager.getNextDay() expect(nextDay.isAfter(blockchainNow)).toBeTruthy() @@ -51,11 +30,9 @@ describe.skip('fishManager', () => { test(`fishManager should find UBICalculated days (need to run script simulateInterestDays.js in goodcontracts)`, async () => { const { searchStartDay, searchEndDay, maxInactiveDays } = await fishManager.getUBICalculatedDays() expect(maxInactiveDays).toBeGreaterThan(0) - expect(parseInt(searchStartDay.returnValues.blockNumber)).toBeGreaterThan(0) - expect(parseInt(searchEndDay.returnValues.blockNumber)).toBeGreaterThan( - parseInt(searchStartDay.returnValues.blockNumber) - ) - expect(parseInt(searchEndDay.returnValues.day)).toBeGreaterThan(parseInt(searchStartDay.returnValues.day)) + expect(parseInt(searchStartDay.args.blockNumber)).toBeGreaterThan(0) + expect(parseInt(searchEndDay.args.blockNumber)).toBeGreaterThan(parseInt(searchStartDay.args.blockNumber)) + expect(parseInt(searchEndDay.args.day)).toBeGreaterThan(parseInt(searchStartDay.args.day)) }) test(`fishManager should find inactive accounts in interval (need to run script simulateInterestDays.js in goodcontracts)`, async () => { @@ -65,23 +42,21 @@ describe.skip('fishManager', () => { }) test(`fishManager should fish account and return next run time (need to run script simulateInterestDays.js in goodcontracts)`, async () => { - const blockchainNow = await AdminWallet.web3.eth - .getBlock('latest') - .then(_ => moment(_.timestamp * 1000).startOf('hour')) + const blockchainNow = await AdminWallet.publicClient + .getBlock({ blockTag: 'latest' }) + .then(_ => moment(Number(_.timestamp) * 1000).startOf('hour')) await setNextDay() await setNextDay() - await AdminWallet.sendTransaction(AdminWallet.UBIContract.methods.claim()) - let gdbalanceBefore = await AdminWallet.tokenContract.methods - .balanceOf(fishManager.ubiContract._address) - .call() + await AdminWallet.sendTransaction(AdminWallet.contractTransaction(AdminWallet.UBIContract, 'claim', [])) + let gdbalanceBefore = await AdminWallet.tokenContract.read + .balanceOf([fishManager.ubiContract.address]) .then(parseInt) const { result, cronTime, fishers } = await fishManager.run() expect(result).toBeTruthy() //success expect(cronTime.isAfter(blockchainNow)).toBeTruthy() //crontime in future expect(fishers.length).not.toEqual(0) //return the fisher admin account - let gdbalanceAfter = await AdminWallet.tokenContract.methods - .balanceOf(fishManager.ubiContract._address) - .call() + let gdbalanceAfter = await AdminWallet.tokenContract.read + .balanceOf([fishManager.ubiContract.address]) .then(parseInt) //we transfer all fished bonus funds back to UBI, so balances before and after should be equal diff --git a/src/server/blockchain/__tests__/stakingModelManager.test.js b/src/server/blockchain/__tests__/stakingModelManager.test.js index f5e7ab2b7..393fe846b 100644 --- a/src/server/blockchain/__tests__/stakingModelManager.test.js +++ b/src/server/blockchain/__tests__/stakingModelManager.test.js @@ -8,18 +8,7 @@ import ContractsAddress from '@gooddollar/goodprotocol/releases/deployment.json' let fundManager = stakingModelTasks.fundManager -const nextBlock = () => - new Promise((res, rej) => - AdminWallet.web3.currentProvider.send( - { - jsonrpc: '2.0', - method: 'evm_mine', - params: [], - id: new Date().getTime() - }, - (err, result) => (err ? rej(err) : res(result)) - ) - ) +const nextBlock = () => AdminWallet.publicClient.request({ method: 'evm_mine', params: [] }) const next_interval = async function (interval = 5760) { let blocks = interval @@ -39,10 +28,9 @@ describe.skip('stakingModelManager', () => { await AdminWallet.ready //in test mode the bridge simply mock by transfering the mainnet token - AdminWallet.tokenContract = new AdminWallet.web3.eth.Contract( + AdminWallet.tokenContract = AdminWallet.getContract( GoodDollarABI.abi, - get(ContractsAddress, `${AdminWallet.network}-mainnet.GoodDollar`), - { from: AdminWallet.address } + get(ContractsAddress, `${AdminWallet.network}-mainnet.GoodDollar`) ) }) @@ -64,7 +52,7 @@ describe.skip('stakingModelManager', () => { test(`stakingModelManager should succeed to transfer interest`, async () => { const event = await fundManager.transferInterest() transferBlock = event.blockNumber - ubiAmount = parseInt(event.returnValues.gdUBI) + ubiAmount = parseInt(event.args.gdUBI) expect(ubiAmount).toBeGreaterThan(0) }) @@ -74,10 +62,10 @@ describe.skip('stakingModelManager', () => { }) test(`stakingModelManager should wait for bridge transfer event`, async () => { - const ubiRecipient = await fundManager.nameService.methods.getAddress('UBI_RECIPIENT').call() + const ubiRecipient = await fundManager.nameService.read.getAddress(['UBI_RECIPIENT']) const bridgeLog = await fundManager.waitForBridgeTransfer(transferBlock, Date.now()) - expect(bridgeLog).toMatchObject({ returnValues: { from: expect.any(String), to: ubiRecipient } }) - expect(parseInt(bridgeLog.returnValues.value)).toEqual(ubiAmount) + expect(bridgeLog).toMatchObject({ args: { from: expect.any(String), to: ubiRecipient } }) + expect(parseInt(bridgeLog.args.value)).toEqual(ubiAmount) }) test(`stakingModelManager should return next cronTime`, async () => { diff --git a/src/server/blockchain/__tests__/viemWallet.test.js b/src/server/blockchain/__tests__/viemWallet.test.js new file mode 100644 index 000000000..0b74a7090 --- /dev/null +++ b/src/server/blockchain/__tests__/viemWallet.test.js @@ -0,0 +1,294 @@ +// import viemFallbackClient directly to prevent other packages from being imported inadvertently +import { createViemFallbackClient } from '@goodwidget/core/viemFallbackClient' +import { Web3Wallet } from '../Web3Wallet' +import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts' +import { encodeFunctionData, parseAbi } from 'viem' +import { fuse } from 'viem/chains' + +jest.mock('@goodwidget/core/viemFallbackClient', () => ({ createViemFallbackClient: jest.fn() })) +jest.mock('../../server.config', () => ({ env: 'test', fuse: { network_id: 122 } })) +jest.mock('../../../imports/logger', () => { + const log = { debug: jest.fn(), info: jest.fn(), warn: jest.fn(), error: jest.fn(), trace: jest.fn() } + return { child: () => log } +}) +jest.mock('../../utils/tx-manager', () => ({ getManager: jest.fn() })) +jest.mock('../../../imports/slack', () => ({ sendSlackAlert: jest.fn() })) +jest.mock('../KMSWallet', () => ({ KMSWallet: jest.fn() })) + +describe('viem wallet', () => { + let wallet, publicClient, walletClient, factory + + beforeEach(() => { + publicClient = { request: jest.fn() } + walletClient = { extend: jest.fn().mockReturnThis() } + factory = { + createPublicClient: jest.fn().mockResolvedValue(publicClient), + createWalletClient: jest.fn().mockResolvedValue(walletClient) + } + createViemFallbackClient.mockReturnValue(factory) + wallet = new Web3Wallet('test', { + env: 'test', + fuse: { network_id: 122, httpWeb3Provider: 'https://rpc.fuse.io,https://rpc2.fuse.io' } + }) + }) + + test('uses the GoodWidget factory with all configured RPCs and the configured chain', async () => { + await expect(wallet.createClients()).resolves.toEqual({ publicClient, walletClient }) + expect(createViemFallbackClient).toHaveBeenCalledWith( + expect.any(Object), + expect.objectContaining({ chainIds: [122], rank: false }) + ) + const clientOptions = { + chain: expect.objectContaining({ id: 122 }), + fallbackRpcs: ['https://rpc.fuse.io', 'https://rpc2.fuse.io'] + } + expect(factory.createPublicClient).toHaveBeenCalledWith(clientOptions) + expect(factory.createWalletClient).toHaveBeenCalledWith(clientOptions) + }) + + test('passes local HTTP RPCs and the configured chain to the GoodWidget factory', async () => { + await wallet.createClients({ network_id: 4447, httpWeb3Provider: 'http://localhost:8545' }) + const clientOptions = { + chain: expect.objectContaining({ id: 4447 }), + fallbackRpcs: ['http://localhost:8545'] + } + expect(factory.createPublicClient).toHaveBeenCalledWith(clientOptions) + expect(factory.createWalletClient).toHaveBeenCalledWith(clientOptions) + }) + + test('encodes contract transactions without a Web3 contract', () => { + const abi = parseAbi(['function authenticate(address account)']) + const address = privateKeyToAccount(generatePrivateKey()).address + expect(wallet.contractTransaction({ abi, address }, 'authenticate', [address])).toEqual({ + to: address, + data: encodeFunctionData({ abi, functionName: 'authenticate', args: [address] }) + }) + }) + + test('the published GoodWidget factory creates a native fallback transport', async () => { + const actual = jest.requireActual('@goodwidget/core/viemFallbackClient') + const cache = JSON.stringify({ + fetchedAt: new Date().toISOString(), + rpcs: [{ chainId: 122, rpcs: ['https://rpc.fuse.io'] }] + }) + const actualFactory = actual.createViemFallbackClient({ get: () => cache }, { rank: false }) + const client = await actualFactory.createPublicClient({ chain: fuse, fallbackRpcs: ['https://rpc2.fuse.io'] }) + expect(client.transport.type).toBe('fallback') + expect(client.transport.transports[0].value.url).toBe('https://rpc2.fuse.io') + }) + + test('handles viem bigint fee history without interpreting decimal values as hex', async () => { + wallet.publicClient = { + getFeeHistory: jest.fn().mockResolvedValue({ baseFeePerGas: [100n, 110n], reward: [[4n], [7n]] }) + } + await expect(wallet.getFeeEstimates()).resolves.toEqual({ baseFee: 121, priorityFee: 4 }) + }) + + test('preserves string balance results at the wallet boundary', async () => { + wallet.publicClient = { getBalance: jest.fn().mockResolvedValue(1000000000000000000n) } + wallet.address = privateKeyToAccount(generatePrivateKey()).address + await expect(wallet.getAddressBalance(wallet.address)).resolves.toBe('1000000000000000000') + await expect(wallet.getBalance()).resolves.toBe(1) + }) + + test('re-authenticates previously whitelisted identities using viem tuple output', async () => { + const address = privateKeyToAccount(generatePrivateKey()).address + wallet.isVerified = jest.fn().mockResolvedValue(false) + wallet.identityContract = { + read: { + identities: jest.fn().mockResolvedValue([0n, 0n, 'did:gd:test', 122n, 1]), + lastAuthenticated: jest.fn().mockResolvedValue(0n) + } + } + wallet.authenticateUser = jest.fn().mockResolvedValue({ status: true }) + await expect(wallet.whitelistUser(address, 'did:gd:test')).resolves.toEqual({ status: true }) + expect(wallet.authenticateUser).toHaveBeenCalledWith(address, wallet.log) + }) + + test('converts KMS transaction values, gas and fees to decimal strings', async () => { + const address = privateKeyToAccount(generatePrivateKey()).address + wallet.kmsWallet = { signTransaction: jest.fn().mockResolvedValue('0xsigned') } + wallet._supportsEIP1559 = true + await wallet._signTransactionWithKMS({ to: address, data: '0x', value: 12n }, address, { + gas: 21000n, + maxFeePerGas: 100n, + maxPriorityFeePerGas: 2n, + nonce: 3, + chainId: 122 + }) + expect(wallet.kmsWallet.signTransaction).toHaveBeenCalledWith(address, { + to: address, + data: '0x', + value: '12', + gasLimit: '21000', + maxFeePerGas: '100', + maxPriorityFeePerGas: '2', + nonce: 3, + chainId: 122 + }) + }) + + describe('nonce queue', () => { + let address, tx + + beforeEach(() => { + jest.useFakeTimers() + address = privateKeyToAccount(generatePrivateKey()).address + wallet.address = address + wallet.filledAddresses = [address] + wallet.publicClient = { getTransactionCount: jest.fn().mockResolvedValue(5) } + wallet.txManager = { + lock: jest.fn().mockResolvedValue({ address, nonce: 3, release: jest.fn() }), + unlock: jest.fn().mockResolvedValue() + } + wallet.normalizeGasPricing = jest.fn().mockResolvedValue({ gasPrice: 2n }) + wallet._sendViemTransaction = jest.fn().mockResolvedValue({ status: true }) + tx = { to: address, data: '0x' } + }) + + afterEach(() => { + jest.clearAllTimers() + jest.useRealTimers() + }) + + test('keeps an explicit sender during nonce-error recovery', async () => { + wallet._sendViemTransaction.mockRejectedValueOnce(new Error('nonce too low')) + await expect(wallet.sendTransaction(tx, {}, { gas: 21000, from: address })).resolves.toEqual({ status: true }) + expect(wallet.txManager.unlock).toHaveBeenCalledWith(address, 5) + expect(wallet.txManager.lock).toHaveBeenNthCalledWith(1, [address]) + expect(wallet.txManager.lock).toHaveBeenNthCalledWith(2, [address]) + }) + + test('unlocks and rejects reverted transactions without retrying', async () => { + wallet._sendViemTransaction.mockRejectedValue(new Error('execution reverted')) + await expect(wallet.sendTransaction(tx, {}, { gas: 21000 })).rejects.toThrow('execution reverted') + expect(wallet._sendViemTransaction).toHaveBeenCalledTimes(1) + expect(wallet.txManager.unlock).toHaveBeenCalledWith(address, 5) + }) + + test('classifies viem errors by details instead of nonce fields in request arguments', async () => { + const error = Object.assign(new Error('Missing or invalid parameters.\nRequest Arguments:\n nonce: 3'), { + details: 'execution reverted: transfer not allowed' + }) + wallet._sendViemTransaction.mockRejectedValueOnce(error) + await expect(wallet.sendTransaction(tx, {}, { gas: 21000 })).rejects.toThrow(error.details) + expect(wallet._sendViemTransaction).toHaveBeenCalledTimes(1) + expect(wallet.txManager.unlock).toHaveBeenCalledWith(address, 5) + }) + + test('routes native sends through the same queue with wei values intact', async () => { + await wallet.sendNative({ from: address, to: address, value: '12' }, {}, { gas: 21000 }) + expect(wallet.txManager.lock).toHaveBeenCalledWith([address]) + expect(wallet._sendViemTransaction).toHaveBeenCalledWith( + { to: address, value: '12' }, + address, + expect.objectContaining({ gas: 21000, nonce: 3 }), + {}, + expect.any(Object) + ) + }) + }) + + describe('transaction submission', () => { + let account, tx, receipt, callbacks, context + + beforeEach(() => { + account = privateKeyToAccount(generatePrivateKey()) + wallet.addWallet(account) + tx = { to: account.address, value: '12' } + receipt = { + transactionHash: '0x123', + status: 'success', + blockNumber: 5n, + gasUsed: 21000n, + cumulativeGasUsed: 21000n + } + publicClient.chain = { id: 122 } + publicClient.waitForTransactionReceipt = jest.fn().mockResolvedValue(receipt) + publicClient.sendRawTransaction = jest.fn().mockResolvedValue('0x123') + walletClient.sendTransaction = jest.fn().mockResolvedValue('0x123') + wallet.publicClient = publicClient + wallet.walletClient = walletClient + callbacks = { onTransactionHash: jest.fn(), onReceipt: jest.fn(), onConfirmation: jest.fn(), onError: jest.fn() } + context = { release: jest.fn(), onTxHash: jest.fn() } + }) + + test('signs locally, releases on hash and preserves receipt callbacks and types', async () => { + const result = await wallet._sendViemTransaction( + tx, + account.address, + { gas: 21000, nonce: 3 }, + callbacks, + context + ) + expect(walletClient.sendTransaction).toHaveBeenCalledWith( + expect.objectContaining({ account, gas: 21000n, nonce: 3, value: 12n }) + ) + expect(context.release).toHaveBeenCalledTimes(1) + expect(context.onTxHash).toHaveBeenCalledWith('0x123') + expect(callbacks.onTransactionHash).toHaveBeenCalledWith('0x123') + expect(result).toMatchObject({ status: true, blockNumber: 5, gasUsed: 21000 }) + expect(callbacks.onReceipt).toHaveBeenCalledWith(result) + expect(callbacks.onConfirmation).toHaveBeenCalledWith(1, result) + }) + + test('preserves the longer mainnet receipt timeout', async () => { + await wallet._sendViemTransaction(tx, account.address, {}, callbacks, { ...context, timeout: 600000 }) + expect(publicClient.waitForTransactionReceipt).toHaveBeenCalledWith({ hash: '0x123', timeout: 600000 }) + }) + + test('broadcasts KMS signed transactions with the same public fallback client', async () => { + wallet.addKMSWallet(account.address, 'test-key-id') + wallet._signTransactionWithKMS = jest.fn().mockResolvedValue('0xsigned') + await wallet._sendViemTransaction(tx, account.address, { gas: 21000 }, callbacks, context) + expect(publicClient.sendRawTransaction).toHaveBeenCalledWith({ serializedTransaction: '0xsigned' }) + expect(walletClient.sendTransaction).not.toHaveBeenCalled() + expect(wallet._signTransactionWithKMS).toHaveBeenCalledWith( + tx, + account.address, + expect.objectContaining({ chainId: 122, value: 12n }) + ) + }) + + test('rejects reverted receipts without reporting success', async () => { + publicClient.waitForTransactionReceipt.mockResolvedValue({ ...receipt, status: 'reverted' }) + await expect(wallet._sendViemTransaction(tx, account.address, {}, callbacks, context)).rejects.toThrow('reverted') + expect(callbacks.onReceipt).not.toHaveBeenCalled() + expect(callbacks.onError).toHaveBeenCalledTimes(1) + }) + + test('does not release the nonce on failed broadcast', async () => { + walletClient.sendTransaction.mockRejectedValue(new Error('nonce too low')) + await expect(wallet._sendViemTransaction(tx, account.address, {}, callbacks, context)).rejects.toThrow( + 'nonce too low' + ) + expect(context.release).not.toHaveBeenCalled() + expect(callbacks.onError).toHaveBeenCalledTimes(1) + }) + + test.each(['local', 'KMS'])('reports only viem details for failed %s broadcasts', async signer => { + const error = Object.assign(new Error('Missing or invalid parameters.\nRequest Arguments:\n nonce: 163'), { + details: 'Transaction requires at least 21000 gas but got 10', + code: -32602 + }) + if (signer === 'KMS') { + wallet.addKMSWallet(account.address, 'test-key-id') + wallet._signTransactionWithKMS = jest.fn().mockResolvedValue('0xsigned') + publicClient.sendRawTransaction.mockRejectedValue(error) + } else { + walletClient.sendTransaction.mockRejectedValue(error) + } + + const rejection = await wallet + ._sendViemTransaction(tx, account.address, { gas: 10 }, callbacks, context) + .catch(error => error) + + expect(rejection).toBeInstanceOf(Error) + expect(rejection.message).toBe(error.details) + expect(rejection.cause).toBe(error) + expect(rejection.code).toBe(error.code) + expect(callbacks.onError).toHaveBeenCalledWith(rejection) + expect(context.release).not.toHaveBeenCalled() + }) + }) +}) diff --git a/src/server/blockchain/stakingModelTasksOld.js b/src/server/blockchain/stakingModelTasksOld.js index 9463f0952..5ee2b0363 100644 --- a/src/server/blockchain/stakingModelTasksOld.js +++ b/src/server/blockchain/stakingModelTasksOld.js @@ -10,7 +10,7 @@ import { get, chunk, result, range, flatten, once } from 'lodash' import logger from '../../imports/logger' import delay from 'delay' import moment from 'moment' -import { toWei } from 'web3-utils' +import { parseEther } from 'viem' import config from '../server.config' import { sendSlackAlert } from '../../imports/slack' import { retry as retryAttempt } from '../utils/async' @@ -36,44 +36,44 @@ export class StakingModelManager { await AdminWallet.ready // polling timeout since ethereum has network congestion and we try to pay little gas so it will take a long time to confirm tx - this.managerContract = new AdminWallet.mainnetWeb3.eth.Contract(FundManagerABI.abi, this.managerAddress, { - transactionPollingTimeout: 1000 - }) + this.managerContract = AdminWallet.getContract( + FundManagerABI.abi, + this.managerAddress, + AdminWallet.mainnetPublicClient + ) - this.stakingContract = new AdminWallet.mainnetWeb3.eth.Contract(StakingABI.abi, this.stakingAddress) - this.dai = new AdminWallet.mainnetWeb3.eth.Contract(DaiABI.abi, this.daiAddress) - this.cDai = new AdminWallet.mainnetWeb3.eth.Contract(cDaiABI.abi, this.cDaiAddress) - this.managerContract.methods - .bridgeContract() - .call() - .then(_ => (this.bridge = _)) - this.managerContract.methods - .ubiRecipient() - .call() - .then(_ => (this.ubiScheme = _)) + this.stakingContract = AdminWallet.getContract(StakingABI.abi, this.stakingAddress, AdminWallet.mainnetPublicClient) + this.dai = AdminWallet.getContract(DaiABI.abi, this.daiAddress, AdminWallet.mainnetPublicClient) + this.cDai = AdminWallet.getContract(cDaiABI.abi, this.cDaiAddress, AdminWallet.mainnetPublicClient) + this.managerContract.read.bridgeContract([]).then(_ => (this.bridge = _)) + this.managerContract.read.ubiRecipient([]).then(_ => (this.ubiScheme = _)) }) - canCollectFunds = async () => this.managerContract.methods.canRun().call() + canCollectFunds = async () => this.managerContract.read.canRun([]) blocksUntilNextCollection = async () => { - const interval = await this.managerContract.methods.blockInterval().call().then(parseInt) - const lastTransferred = await this.managerContract.methods.lastTransferred().call().then(parseInt) - const currentBlock = await AdminWallet.mainnetWeb3.eth.getBlockNumber() + const interval = await this.managerContract.read.blockInterval([]).then(parseInt) + const lastTransferred = await this.managerContract.read.lastTransferred([]).then(parseInt) + const currentBlock = await AdminWallet.mainnetPublicClient.getBlockNumber().then(Number) const res = interval - ((currentBlock - lastTransferred * interval) % interval) return res } - getAvailableInterest = async () => this.stakingContract.methods.currentUBIInterest().call().then(parseInt) + getAvailableInterest = async () => this.stakingContract.read.currentUBIInterest([]).then(parseInt) transferInterest = async () => { let txHash try { const fundsTX = await AdminWallet.sendTransactionMainnet( - this.managerContract.methods.transferInterest(this.stakingAddress), + AdminWallet.contractTransaction(this.managerContract, 'transferInterest', [this.stakingAddress]), { onTransactionHash: h => (txHash = h) }, { gas: 700000 }, //force fixed gas price, tx should take around 450k AdminWallet.mainnetAddresses[0] ) - const fundsEvent = get(fundsTX, 'events.FundsTransferred') + const fundsEvents = await this.managerContract.getEvents.FundsTransferred( + {}, + { fromBlock: BigInt(fundsTX.blockNumber), toBlock: BigInt(fundsTX.blockNumber) } + ) + const fundsEvent = fundsEvents.find(event => event.transactionHash === fundsTX.transactionHash) this.log.info('transferInterest result event', { fundsEvent }) return fundsEvent } catch (e) { @@ -92,17 +92,17 @@ export class StakingModelManager { async retry => { log.info('retrying timedout tx', { txHash, retry }) - const receipt = await AdminWallet.mainnetWeb3.eth.getTransactionReceipt(txHash) + const receipt = await AdminWallet.mainnetPublicClient.getTransactionReceipt({ hash: txHash }) if (!receipt) { throw new Error('No receipt yet, retrying') } - if (receipt.status) { - const fundsEvents = await this.managerContract.getPastEvents('FundsTransferred', { - fromBlock: receipt.blockNumber, - toBlock: receipt.blockNumber - }) + if (receipt.status === 'success') { + const fundsEvents = await this.managerContract.getEvents.FundsTransferred( + {}, + { fromBlock: BigInt(receipt.blockNumber), toBlock: BigInt(receipt.blockNumber) } + ) const fundsEvent = get(fundsEvents, 0) @@ -141,7 +141,7 @@ export class StakingModelManager { this.lastRopstenTopping = moment() } const tx1 = AdminWallet.sendTransactionMainnet( - this.dai.methods.approve(this.cDai.address, toWei('10', 'ether')), + AdminWallet.contractTransaction(this.dai, 'approve', [this.cDai.address, parseEther('10').toString()]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -150,7 +150,10 @@ export class StakingModelManager { throw e }) const tx2 = AdminWallet.sendTransactionMainnet( - this.dai.methods.allocateTo(AdminWallet.mainnetAddresses[0], toWei('100', 'ether')), + AdminWallet.contractTransaction(this.dai, 'allocateTo', [ + AdminWallet.mainnetAddresses[0], + parseEther('100').toString() + ]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -164,17 +167,17 @@ export class StakingModelManager { this.log.info('mockInterest approved and allocated dai. minting cDai...') await AdminWallet.sendTransactionMainnet( - this.cDai.methods.mint(toWei('10', 'ether')), + AdminWallet.contractTransaction(this.cDai, 'mint', [parseEther('10').toString()]), {}, {}, AdminWallet.mainnetAddresses[0] ) - let ownercDaiBalanceAfter = await this.cDai.methods.balanceOf(AdminWallet.mainnetAddresses[0]).call() + let ownercDaiBalanceAfter = await this.cDai.read.balanceOf([AdminWallet.mainnetAddresses[0]]) this.log.info('mockInterest minted fake cDai, transferring to staking contract...', { ownercDaiBalanceAfter }) await AdminWallet.sendTransactionMainnet( - this.cDai.methods.transfer(this.stakingAddress, ownercDaiBalanceAfter), + AdminWallet.contractTransaction(this.cDai, 'transfer', [this.stakingAddress, ownercDaiBalanceAfter]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -201,7 +204,7 @@ export class StakingModelManager { sendSlackAlert({ msg: 'failure: transferInterest failed', error: e.message }) throw e }) - const sidechainCurBlock = await AdminWallet.web3.eth.getBlockNumber() + const sidechainCurBlock = await AdminWallet.publicClient.getBlockNumber().then(Number) if (fundsEvent === undefined) { const cronTime = await this.getNextCollectionTime() @@ -209,7 +212,7 @@ export class StakingModelManager { sendSlackAlert({ msg: 'warning: no transfer funds event found' }) return { result: 'no interest', cronTime } } - const ubiTransfered = fundsEvent.returnValues.gdUBI.toString() + const ubiTransfered = fundsEvent.args.gdUBI.toString() if (ubiTransfered === '0') { this.log.warn('No UBI was transfered to bridge') } else { @@ -217,7 +220,7 @@ export class StakingModelManager { //wait for funds on sidechain to transfer via bridge const transferEvent = await this.waitForBridgeTransfer(sidechainCurBlock, Date.now(), ubiTransfered) this.log.info('ubi success: bridge transfer event found', { - ubiGenerated: transferEvent.returnValues.value + ubiGenerated: transferEvent.args.value }) } sendSlackAlert({ msg: 'success: UBI transfered', ubiTransfered }) @@ -247,13 +250,9 @@ export class StakingModelManager { * @param {*} start used to calculate timeout */ waitForBridgeTransfer = async (fromBlock, start, value) => { - const res = await AdminWallet.tokenContract.getPastEvents('Transfer', { - fromBlock, - filter: { - to: this.ubiScheme, - value - } - }) + const res = ( + await AdminWallet.tokenContract.getEvents.Transfer({ to: this.ubiScheme }, { fromBlock: BigInt(fromBlock) }) + ).filter(event => value === undefined || event.args.value.toString() === value.toString()) this.log.info('waitforBirgdeTransfer events:', { fromBlock, start, @@ -289,20 +288,17 @@ class FishingManager { init = once(async () => { await AdminWallet.ready - this.ubiContract = new AdminWallet.web3.eth.Contract(UBISchemeABI.abi, this.ubiScheme) + this.ubiContract = AdminWallet.getContract(UBISchemeABI.abi, this.ubiScheme) }) /** * calculate the next claim epoch */ getNextDay = async () => { - const startRef = await this.ubiContract.methods - .periodStart() - .call() - .then(_ => moment(parseInt(_) * 1000).startOf('hour')) - const blockchainNow = await AdminWallet.web3.eth - .getBlock('latest') - .then(_ => moment(_.timestamp * 1000).startOf('hour')) + const startRef = await this.ubiContract.read.periodStart([]).then(_ => moment(parseInt(_) * 1000).startOf('hour')) + const blockchainNow = await AdminWallet.publicClient + .getBlock({ blockTag: 'latest' }) + .then(_ => moment(Number(_.timestamp) * 1000).startOf('hour')) const hoursDiff = blockchainNow.diff(startRef, 'hours') const hoursUntil = 24 - (hoursDiff % 24) this.log.info('fishManager getNextDay', { startRef, blockchainNow, hoursUntil }) @@ -315,35 +311,33 @@ class FishingManager { */ getUBICalculatedDays = async forceDaysAgo => { const dayFuseBlocks = (60 * 60 * 24) / 5 - const maxInactiveDays = forceDaysAgo || (await this.ubiContract.methods.maxInactiveDays().call().then(parseInt)) + const maxInactiveDays = forceDaysAgo || (await this.ubiContract.read.maxInactiveDays([]).then(parseInt)) const daysagoBlocks = dayFuseBlocks * (maxInactiveDays + 1) - const blocksAgo = Math.max((await AdminWallet.web3.eth.getBlockNumber()) - daysagoBlocks, 0) - await AdminWallet.sendTransaction(this.ubiContract.methods.setDay(), {}).catch(() => + const blocksAgo = Math.max((await AdminWallet.publicClient.getBlockNumber().then(Number)) - daysagoBlocks, 0) + await AdminWallet.sendTransaction(AdminWallet.contractTransaction(this.ubiContract, 'setDay', []), {}).catch(() => this.log.warn('fishManager set day failed') ) - const currentUBIDay = await this.ubiContract.methods.currentDay().call().then(parseInt) + const currentUBIDay = await this.ubiContract.read.currentDay([]).then(parseInt) this.log.info('getInactiveAccounts', { daysagoBlocks, blocksAgo, currentUBIDay, maxInactiveDays }) //get claims that were done before inactive period days ago, these accounts has the potential to be inactive //first we get the starting block - const ubiEvents = await this.ubiContract.getPastEvents('UBICalculated', { fromBlock: blocksAgo }).catch(e => { + const ubiEvents = await this.ubiContract.getEvents.UBICalculated({}, { fromBlock: BigInt(blocksAgo) }).catch(e => { this.log.warn('fishManager getPastEvents failed') throw e }) this.log.info('getUBICalculatedDays ubiEvents:', { ubiEvents: ubiEvents.length, - ubiEventDays: ubiEvents.map(_ => result(_, 'returnValues.day.toNumber')) + ubiEventDays: ubiEvents.map(_ => result(_, 'args.day')) }) //find first day older than maxInactiveDays (ubiEvents is sorted from old to new so we reverse it) - const searchStartDay = ubiEvents - .reverse() - .find(e => e.returnValues.day.toNumber() <= currentUBIDay - maxInactiveDays) + const searchStartDay = ubiEvents.reverse().find(e => Number(e.args.day) <= currentUBIDay - maxInactiveDays) - const startDay = result(searchStartDay, 'returnValues.day.toNumber', 0) + const startDay = Number(result(searchStartDay, 'args.day', 0)) //find first day newer than searchStartDay - const searchEndDay = ubiEvents.reverse().find(e => e.returnValues.day.toNumber() > startDay) - const endDay = result(searchEndDay, 'returnValues.day.toNumber', 0) + const searchEndDay = ubiEvents.reverse().find(e => Number(e.args.day) > startDay) + const endDay = Number(result(searchEndDay, 'args.day', 0)) this.log.info('getUBICalculatedDays got UBICalculatedEvents:', { currentUBIDay, @@ -366,13 +360,15 @@ class FishingManager { this.log.warn('No UBICalculated event found for inactive interval', { maxInactiveDays }) } //now get accounts that claimed in that day - const claimBlockStart = result( - searchStartDay, - 'returnValues.blockNumber.toNumber', - Math.max((await AdminWallet.web3.eth.getBlockNumber()) - maxInactiveDays * FUSE_DAY_BLOCKS, 0) + const claimBlockStart = Number( + result( + searchStartDay, + 'args.blockNumber', + Math.max((await AdminWallet.publicClient.getBlockNumber().then(Number)) - maxInactiveDays * FUSE_DAY_BLOCKS, 0) + ) ) - const claimBlockEnd = result(searchEndDay, 'returnValues.blockNumber.toNumber', claimBlockStart + FUSE_DAY_BLOCKS) + const claimBlockEnd = Number(result(searchEndDay, 'args.blockNumber', claimBlockStart + FUSE_DAY_BLOCKS)) //get candidates const chunkSize = FUSE_DAY_BLOCKS / 10 @@ -380,11 +376,11 @@ class FishingManager { const claimEvents = flatten( await Promise.all( blockChunks.map(startBlock => - this.ubiContract - .getPastEvents('UBIClaimed', { - fromBlock: startBlock, - toBlock: Math.min(claimBlockEnd, startBlock + chunkSize) - }) + this.ubiContract.getEvents + .UBIClaimed( + {}, + { fromBlock: BigInt(startBlock), toBlock: BigInt(Math.min(claimBlockEnd, startBlock + chunkSize)) } + ) .catch(e => { this.log.warn('getInactiveAccounts getPastEvents UBIClaimed chunk failed', e.message, { startBlock, @@ -405,14 +401,11 @@ class FishingManager { let inactiveAccounts = [] let inactiveCheckFailed = 0 const checkInactive = async e => { - const isActive = await this.ubiContract.methods - .isActiveUser(e.returnValues.claimer) - .call() - .catch(() => undefined) + const isActive = await this.ubiContract.read.isActiveUser([e.args.claimer]).catch(() => undefined) if (isActive === undefined) { inactiveCheckFailed += 1 } - return isActive ? undefined : e.returnValues.claimer + return isActive ? undefined : e.args.claimer } for (let eventsChunk of chunk(claimEvents, 100)) { const inactive = (await Promise.all(eventsChunk.map(checkInactive))).filter(_ => _) @@ -432,12 +425,12 @@ class FishingManager { */ fishChunk = async tofish => { const fishTX = await AdminWallet.fishMulti(tofish, this.log) - const fishEvents = await AdminWallet.UBIContract.getPastEvents('TotalFished', { - fromBlock: fishTX.blockNumber, - toBlock: fishTX.blockNumber - }) + const fishEvents = await AdminWallet.UBIContract.getEvents.TotalFished( + {}, + { fromBlock: BigInt(fishTX.blockNumber), toBlock: BigInt(fishTX.blockNumber) } + ) const fishEvent = fishEvents.find(e => e.transactionHash === fishTX.transactionHash) - const totalFished = result(fishEvent, 'returnValues.total.toNumber', 0) + const totalFished = result(fishEvent, 'args.total', 0) this.log.info('Fished accounts', { tofish, totalFished, fisherAccount: fishTX.from, tx: fishTX.transactionHash }) return { totalFished, fisherAccount: fishTX.from } } @@ -474,10 +467,7 @@ class FishingManager { * @returns the amount transfered */ transferFishToUBI = async () => { - let gdbalance = await AdminWallet.tokenContract.methods - .balanceOf(AdminWallet.proxyContract.address) - .call() - .then(parseInt) + let gdbalance = await AdminWallet.tokenContract.read.balanceOf([AdminWallet.proxyContract.address]).then(parseInt) if (gdbalance > 0) { const transferTX = await AdminWallet.transferWalletGoodDollars( AdminWallet.UBIContract.address, diff --git a/src/server/blockchain/stakingModelTasksV2.js b/src/server/blockchain/stakingModelTasksV2.js index 2ee116b9d..d5ca10aa1 100644 --- a/src/server/blockchain/stakingModelTasksV2.js +++ b/src/server/blockchain/stakingModelTasksV2.js @@ -13,7 +13,7 @@ import { get, chunk, range, flatten, mapValues, once } from 'lodash' import logger from '../../imports/logger' import delay from 'delay' import moment from 'moment' -import { toWei } from 'web3-utils' +import { parseEther } from 'viem' import config from '../server.config' import { sendSlackAlert } from '../../imports/slack' import { retry as retryAttempt } from '../utils/async' @@ -44,18 +44,23 @@ export class StakingModelManager { // polling timeout since ethereum has network congestion and we try to pay little gas so it will take a long time to confirm tx await AdminWallet.ready - this.managerContract = new AdminWallet.mainnetWeb3.eth.Contract(FundManagerABI.abi, this.managerAddress, { - transactionPollingTimeout: 1000, - from: AdminWallet.address - }) - this.stakingContract = new AdminWallet.mainnetWeb3.eth.Contract(StakingABI.abi, this.stakingAddresses[0][0], { - from: AdminWallet.address - }) - this.dai = new AdminWallet.mainnetWeb3.eth.Contract(DaiABI.abi, this.daiAddress, { from: AdminWallet.address }) - this.cDai = new AdminWallet.mainnetWeb3.eth.Contract(cDaiABI.abi, this.cDaiAddress, { from: AdminWallet.address }) - this.nameService = new AdminWallet.mainnetWeb3.eth.Contract(NameServiceABI.abi, this.nameServiceAddress, { - from: AdminWallet.address - }) + this.managerContract = AdminWallet.getContract( + FundManagerABI.abi, + this.managerAddress, + AdminWallet.mainnetPublicClient + ) + this.stakingContract = AdminWallet.getContract( + StakingABI.abi, + this.stakingAddresses[0][0], + AdminWallet.mainnetPublicClient + ) + this.dai = AdminWallet.getContract(DaiABI.abi, this.daiAddress, AdminWallet.mainnetPublicClient) + this.cDai = AdminWallet.getContract(cDaiABI.abi, this.cDaiAddress, AdminWallet.mainnetPublicClient) + this.nameService = AdminWallet.getContract( + NameServiceABI.abi, + this.nameServiceAddress, + AdminWallet.mainnetPublicClient + ) this.log.debug('constructor:', { fundmanager: this.managerAddress, staking: this.stakingAddresses, @@ -64,7 +69,7 @@ export class StakingModelManager { }) canCollectFunds = async () => { - const result = await this.managerContract.methods.calcSortedContracts().call() + const result = await this.managerContract.read.calcSortedContracts([]) this.log.info('canCollectFunds:', result) //collect all contracts that can be run const contracts = result.filter(_ => _.maxGasLargerOrEqualRequired).map(_ => _.contractAddress) @@ -73,10 +78,7 @@ export class StakingModelManager { } getAvailableInterest = async () => - this.stakingContract.methods - .currentGains(true, true) - .call() - .then(_ => mapValues(_, parseInt)) + this.stakingContract.read.currentGains([true, true]).then(_ => mapValues(_, parseInt)) transferInterest = async () => { let txHash @@ -88,12 +90,16 @@ export class StakingModelManager { try { const fundsTX = await AdminWallet.sendTransactionMainnet( - this.managerContract.methods.collectInterest(stakingContracts, false), + AdminWallet.contractTransaction(this.managerContract, 'collectInterest', [stakingContracts, false]), { onTransactionHash: h => (txHash = h) }, { gas: 2000000 }, //force fixed gas price, tx should take around 450k AdminWallet.mainnetAddresses[0] ) - const fundsEvent = get(fundsTX, 'events.FundsTransferred') + const fundsEvents = await this.managerContract.getEvents.FundsTransferred( + {}, + { fromBlock: BigInt(fundsTX.blockNumber), toBlock: BigInt(fundsTX.blockNumber) } + ) + const fundsEvent = fundsEvents.find(event => event.transactionHash === fundsTX.transactionHash) this.log.info('transferInterest result event', { fundsEvent, fundsTX }) return fundsEvent } catch (e) { @@ -112,17 +118,17 @@ export class StakingModelManager { async retry => { log.info('retrying timedout tx', { txHash, retry }) - const receipt = await AdminWallet.mainnetWeb3.eth.getTransactionReceipt(txHash) + const receipt = await AdminWallet.mainnetPublicClient.getTransactionReceipt({ hash: txHash }) if (!receipt) { throw new Error('No receipt yet, retrying') } - if (receipt.status) { - const fundsEvents = await this.managerContract.getPastEvents('FundsTransferred', { - fromBlock: receipt.blockNumber, - toBlock: receipt.blockNumber - }) + if (receipt.status === 'success') { + const fundsEvents = await this.managerContract.getEvents.FundsTransferred( + {}, + { fromBlock: BigInt(receipt.blockNumber), toBlock: BigInt(receipt.blockNumber) } + ) const fundsEvent = get(fundsEvents, 0) @@ -162,7 +168,7 @@ export class StakingModelManager { this.lastRopstenTopping = moment() } await AdminWallet.sendTransactionMainnet( - this.dai.methods.approve(this.cDai._address, toWei('1000000000', 'ether')), + AdminWallet.contractTransaction(this.dai, 'approve', [this.cDai.address, parseEther('1000000000').toString()]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -171,7 +177,10 @@ export class StakingModelManager { // throw e }) await AdminWallet.sendTransactionMainnet( - this.dai.methods.allocateTo(AdminWallet.mainnetAddresses[0], toWei('2000', 'ether')), + AdminWallet.contractTransaction(this.dai, 'allocateTo', [ + AdminWallet.mainnetAddresses[0], + parseEther('2000').toString() + ]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -180,10 +189,10 @@ export class StakingModelManager { // throw e }) - const balanceBefore = await this.cDai.methods.balanceOf(AdminWallet.mainnetAddresses[0]).call().then(parseInt) + const balanceBefore = await this.cDai.read.balanceOf([AdminWallet.mainnetAddresses[0]]).then(parseInt) this.log.info('mockInterest: approved and allocated dai. minting cDai...', { balanceBefore }) await AdminWallet.sendTransactionMainnet( - this.cDai.methods.mint(toWei('2000', 'ether')), + AdminWallet.contractTransaction(this.cDai, 'mint', [parseEther('2000').toString()]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -191,14 +200,14 @@ export class StakingModelManager { this.log.warn('mockInterest: cdai mint failed', e.message, e) }) - let ownercDaiBalanceAfter = await this.cDai.methods.balanceOf(AdminWallet.mainnetAddresses[0]).call().then(parseInt) + let ownercDaiBalanceAfter = await this.cDai.read.balanceOf([AdminWallet.mainnetAddresses[0]]).then(parseInt) let toTransfer = ownercDaiBalanceAfter - balanceBefore this.log.info('mockInterest: minted fake cDai, transferring to staking contract...', { ownercDaiBalanceAfter, toTransfer, owner: AdminWallet.mainnetAddresses[0], - stakingContract: this.stakingContract._address + stakingContract: this.stakingContract.address }) toTransfer = toTransfer > 0 ? toTransfer : (balanceBefore / 7).toFixed(0) @@ -207,7 +216,7 @@ export class StakingModelManager { return } await AdminWallet.sendTransactionMainnet( - this.cDai.methods.transfer(this.stakingContract._address, toTransfer), + AdminWallet.contractTransaction(this.cDai, 'transfer', [this.stakingContract.address, toTransfer]), {}, {}, AdminWallet.mainnetAddresses[0] @@ -215,7 +224,7 @@ export class StakingModelManager { this.log.warn('mockInterest: transfer interest failed', e.message, e) }) - let stakingcDaiBalanceAfter = await this.cDai.methods.balanceOf(this.stakingContract._address).call() + let stakingcDaiBalanceAfter = await this.cDai.read.balanceOf([this.stakingContract.address]) this.log.info('mockInterest: transfered fake cDai to staking contract...', { stakingcDaiBalanceAfter @@ -245,7 +254,7 @@ export class StakingModelManager { sendSlackAlert({ msg: 'failure: transferInterest failed', error: e.message }) throw e }) - const sidechainCurBlock = await AdminWallet.web3.eth.getBlockNumber() + const sidechainCurBlock = await AdminWallet.publicClient.getBlockNumber().then(Number) if (fundsEvent === undefined) { const cronTime = await this.getNextCollectionTime() @@ -253,7 +262,7 @@ export class StakingModelManager { sendSlackAlert({ msg: 'warning: no transfer funds event found' }) return { result: 'no interest', cronTime } } - const ubiTransfered = fundsEvent.returnValues.gdUBI.toString() + const ubiTransfered = fundsEvent.args.gdUBI.toString() if (ubiTransfered === '0') { this.log.warn('No UBI was transfered to bridge') } else { @@ -261,7 +270,7 @@ export class StakingModelManager { //wait for funds on sidechain to transfer via bridge const transferEvent = await this.waitForBridgeTransfer(sidechainCurBlock, Date.now(), ubiTransfered) this.log.info('ubi success: bridge transfer event found', { - ubiGenerated: transferEvent.returnValues.value + ubiGenerated: transferEvent.args.value }) } sendSlackAlert({ msg: 'success: UBI transfered', ubiTransfered }) @@ -291,14 +300,10 @@ export class StakingModelManager { * @param {*} start used to calculate timeout */ waitForBridgeTransfer = async (fromBlock, start, value) => { - const ubiRecipient = await this.nameService.methods.getAddress('UBI_RECIPIENT').call() - const res = await AdminWallet.tokenContract.getPastEvents('Transfer', { - fromBlock, - filter: { - to: ubiRecipient, - value - } - }) + const ubiRecipient = await this.nameService.read.getAddress(['UBI_RECIPIENT']) + const res = ( + await AdminWallet.tokenContract.getEvents.Transfer({ to: ubiRecipient }, { fromBlock: BigInt(fromBlock) }) + ).filter(event => value === undefined || event.args.value.toString() === value.toString()) this.log.info('waitforBirgdeTransfer events:', { fromBlock, start, @@ -335,9 +340,7 @@ class FishingManager { this.log.info('initializing...') await AdminWallet.ready - this.ubiContract = new AdminWallet.web3.eth.Contract(UBISchemeABI.abi, this.ubiScheme, { - from: AdminWallet.address - }) + this.ubiContract = AdminWallet.getContract(UBISchemeABI.abi, this.ubiScheme) this.log.info('done initializing') }) @@ -345,13 +348,10 @@ class FishingManager { * calculate the next claim epoch */ getNextDay = async () => { - const startRef = await this.ubiContract.methods - .periodStart() - .call() - .then(_ => moment(parseInt(_) * 1000).startOf('hour')) - const blockchainNow = await AdminWallet.web3.eth - .getBlock('latest') - .then(_ => moment(_.timestamp * 1000).startOf('hour')) + const startRef = await this.ubiContract.read.periodStart([]).then(_ => moment(parseInt(_) * 1000).startOf('hour')) + const blockchainNow = await AdminWallet.publicClient + .getBlock({ blockTag: 'latest' }) + .then(_ => moment(Number(_.timestamp) * 1000).startOf('hour')) const hoursDiff = blockchainNow.diff(startRef, 'hours') const hoursUntil = 24 - (hoursDiff % 24) this.log.info('fishManager getNextDay', { startRef, blockchainNow, hoursUntil }) @@ -364,15 +364,15 @@ class FishingManager { */ getUBICalculatedDays = async forceDaysAgo => { const dayFuseBlocks = (60 * 60 * 24) / 5 - const maxInactiveDays = forceDaysAgo || (await this.ubiContract.methods.maxInactiveDays().call().then(parseInt)) + const maxInactiveDays = forceDaysAgo || (await this.ubiContract.read.maxInactiveDays([]).then(parseInt)) const daysagoBlocks = dayFuseBlocks * (maxInactiveDays + 1) - const curBlock = await AdminWallet.web3.eth.getBlockNumber() + const curBlock = await AdminWallet.publicClient.getBlockNumber().then(Number) const blocksAgo = Math.max(curBlock - daysagoBlocks, 0) - await AdminWallet.sendTransaction(this.ubiContract.methods.setDay(), {}).catch(() => + await AdminWallet.sendTransaction(AdminWallet.contractTransaction(this.ubiContract, 'setDay', []), {}).catch(() => this.log.warn('fishManager set day failed') ) - const currentUBIDay = await this.ubiContract.methods.currentDay().call().then(parseInt) + const currentUBIDay = await this.ubiContract.read.currentDay([]).then(parseInt) this.log.info('getInactiveAccounts', { daysagoBlocks, blocksAgo, currentUBIDay, maxInactiveDays }) //get claims that were done before inactive period days ago, these accounts has the potential to be inactive //first we get the starting block @@ -380,11 +380,11 @@ class FishingManager { const ubiEvents = flatten( await Promise.all( blockChunks.map(startBlock => - this.ubiContract - .getPastEvents('UBICalculated', { - fromBlock: startBlock, - toBlock: Math.min(curBlock, startBlock + 100000) - }) + this.ubiContract.getEvents + .UBICalculated( + {}, + { fromBlock: BigInt(startBlock), toBlock: BigInt(Math.min(curBlock, startBlock + 100000)) } + ) .catch(e => { this.log.warn('getUBICalculatedDays getPastEvents UBICalculated chunk failed', e.message, { startBlock @@ -400,18 +400,16 @@ class FishingManager { // }) this.log.info('getUBICalculatedDays ubiEvents:', { ubiEvents: ubiEvents.length, - ubiEventDays: ubiEvents.map(_ => get(_, 'returnValues.day')).map(parseInt) + ubiEventDays: ubiEvents.map(_ => get(_, 'args.day')).map(parseInt) }) //find first day older than maxInactiveDays (ubiEvents is sorted from old to new so we reverse it) - const searchStartDay = ubiEvents - .reverse() - .find(e => parseInt(e.returnValues.day) <= currentUBIDay - maxInactiveDays) + const searchStartDay = ubiEvents.reverse().find(e => parseInt(e.args.day) <= currentUBIDay - maxInactiveDays) - const startDay = parseInt(get(searchStartDay, 'returnValues.day', 0)) + const startDay = parseInt(get(searchStartDay, 'args.day', 0)) //find first day newer than searchStartDay - const searchEndDay = ubiEvents.reverse().find(e => parseInt(e.returnValues.day) > startDay) - const endDay = parseInt(get(searchEndDay, 'returnValues.day', 0)) + const searchEndDay = ubiEvents.reverse().find(e => parseInt(e.args.day) > startDay) + const endDay = parseInt(get(searchEndDay, 'args.day', 0)) this.log.info('getUBICalculatedDays got UBICalculatedEvents:', { currentUBIDay, @@ -437,12 +435,12 @@ class FishingManager { const claimBlockStart = parseInt( get( searchStartDay, - 'returnValues.blockNumber', - Math.max((await AdminWallet.web3.eth.getBlockNumber()) - maxInactiveDays * FUSE_DAY_BLOCKS, 0) + 'args.blockNumber', + Math.max((await AdminWallet.publicClient.getBlockNumber().then(Number)) - maxInactiveDays * FUSE_DAY_BLOCKS, 0) ) ) - const claimBlockEnd = parseInt(get(searchEndDay, 'returnValues.blockNumber', claimBlockStart + FUSE_DAY_BLOCKS)) + const claimBlockEnd = parseInt(get(searchEndDay, 'args.blockNumber', claimBlockStart + FUSE_DAY_BLOCKS)) //get candidates const chunkSize = 100000 @@ -450,11 +448,11 @@ class FishingManager { const claimEvents = flatten( await Promise.all( blockChunks.map(startBlock => - this.ubiContract - .getPastEvents('UBIClaimed', { - fromBlock: startBlock, - toBlock: Math.min(claimBlockEnd, startBlock + chunkSize) - }) + this.ubiContract.getEvents + .UBIClaimed( + {}, + { fromBlock: BigInt(startBlock), toBlock: BigInt(Math.min(claimBlockEnd, startBlock + chunkSize)) } + ) .catch(e => { this.log.warn('getInactiveAccounts getPastEvents UBIClaimed chunk failed', e.message, { startBlock, @@ -475,14 +473,11 @@ class FishingManager { let inactiveAccounts = [] let inactiveCheckFailed = 0 const checkInactive = async e => { - const isActive = await this.ubiContract.methods - .isActiveUser(e.returnValues.claimer) - .call() - .catch(() => undefined) + const isActive = await this.ubiContract.read.isActiveUser([e.args.claimer]).catch(() => undefined) if (isActive === undefined) { inactiveCheckFailed += 1 } - return isActive ? undefined : e.returnValues.claimer + return isActive ? undefined : e.args.claimer } for (let eventsChunk of chunk(claimEvents, 100)) { const inactive = (await Promise.all(eventsChunk.map(checkInactive))).filter(_ => _) @@ -502,12 +497,12 @@ class FishingManager { */ fishChunk = async tofish => { const fishTX = await AdminWallet.fishMulti(tofish, this.log) - const fishEvents = await this.ubiContract.getPastEvents('TotalFished', { - fromBlock: fishTX.blockNumber, - toBlock: fishTX.blockNumber - }) + const fishEvents = await this.ubiContract.getEvents.TotalFished( + {}, + { fromBlock: BigInt(fishTX.blockNumber), toBlock: BigInt(fishTX.blockNumber) } + ) const fishEvent = fishEvents.find(e => e.transactionHash === fishTX.transactionHash) - const totalFished = parseInt(get(fishEvent, 'returnValues.total', 0)) + const totalFished = parseInt(get(fishEvent, 'args.total', 0)) this.log.info('Fished accounts', { tofish, totalFished, fisherAccount: fishTX.from, tx: fishTX.transactionHash }) return { totalFished, fisherAccount: fishTX.from } } @@ -544,10 +539,7 @@ class FishingManager { * @returns the amount transfered */ transferFishToUBI = async () => { - let gdbalance = await AdminWallet.tokenContract.methods - .balanceOf(AdminWallet.proxyContract._address) - .call() - .then(parseInt) + let gdbalance = await AdminWallet.tokenContract.read.balanceOf([AdminWallet.proxyContract.address]).then(parseInt) if (gdbalance > 0) { const transferTX = await AdminWallet.transferWalletGoodDollars(this.ubiScheme, gdbalance, this.log) this.log.info('transfered fished funds to ubi', { tx: transferTX.transactionHash, gdbalance }) diff --git a/src/server/goodid/veramo.js b/src/server/goodid/veramo.js index b6c746faf..89ed6ef89 100644 --- a/src/server/goodid/veramo.js +++ b/src/server/goodid/veramo.js @@ -70,7 +70,7 @@ export const getAgent = once(async () => { await MultiWallet.ready - const { wallet } = MultiWallet.mainWallet.web3.eth.accounts + const wallet = MultiWallet.mainWallet.addresses.map(address => MultiWallet.mainWallet.wallets[address.toLowerCase()]) const privateKeyHex = Array(2) .fill(null) diff --git a/src/server/storage/cron/CleanupAbandonedSignups.js b/src/server/storage/cron/CleanupAbandonedSignups.js index ad55fab46..c94eb5231 100644 --- a/src/server/storage/cron/CleanupAbandonedSignups.js +++ b/src/server/storage/cron/CleanupAbandonedSignups.js @@ -34,10 +34,7 @@ class CleanupAbandonedSignups { const missingFields = mandatoryFields.map(nonExists) try { - await model - .find({ $or: missingFields }) - .remove() - .exec() + await model.find({ $or: missingFields }).remove().exec() } catch (e) { logger.error('Error cleaning abandoned signups up', e.message, e) } diff --git a/src/server/utils/helpers.js b/src/server/utils/helpers.js index fe915e799..7f0ed796a 100644 --- a/src/server/utils/helpers.js +++ b/src/server/utils/helpers.js @@ -10,7 +10,7 @@ import conf from '../server.config' * @returns {Function} */ function wrapAsync(fn: Function) { - return function(req: $Request & { log: any }, res: $Response, next: NextFunction) { + return function (req: $Request & { log: any }, res: $Response, next: NextFunction) { fn(req, res, next).catch(error => { next(error) }) @@ -23,7 +23,7 @@ function wrapAsync(fn: Function) { * @returns {Function} */ function lightLogs(fn: Function) { - return function(req: $Request, res: $Response, next: NextFunction) { + return function (req: $Request, res: $Response, next: NextFunction) { fn(req, res, next) } } @@ -35,7 +35,7 @@ function lightLogs(fn: Function) { * @param next */ const onlyInEnv = (...environments: Array) => { - return function(req: $Request, res: $Response, next: NextFunction) { + return function (req: $Request, res: $Response, next: NextFunction) { if (environments.includes(conf.env)) { next() return diff --git a/src/server/verification/verificationAPI.js b/src/server/verification/verificationAPI.js index 8ee17f8a6..d8302278b 100644 --- a/src/server/verification/verificationAPI.js +++ b/src/server/verification/verificationAPI.js @@ -280,13 +280,24 @@ const setup = (app: Router, verifier: VerificationAPI, storage: StorageAPI) => { '/verify/face/:enrollmentIdentifier', passport.authenticate('jwt', { session: false }), wrapAsync(async (req, res) => { - const { user, log, params, body } = req + const { user, log, params, body, headers } = req + const { origin, host, referer } = headers + const { enrollmentIdentifier } = params const { chainId, fvSigner = '', ...payload } = body || {} // payload is the facetec data const { gdAddress } = user const clientIp = requestIp.getClientIp(req) - log.debug('enroll face request:', { fvSigner, enrollmentIdentifier, chainId, user }) + log.debug('enroll face request:', { + fvSigner, + enrollmentIdentifier, + chainId, + user, + origin, + host, + referer, + clientIp + }) // checking if request aborted to handle cases when connection is slow // and facemap / images were uploaded more that 30sec causing timeout @@ -704,13 +715,13 @@ const setup = (app: Router, verifier: VerificationAPI, storage: StorageAPI) => { passport.authenticate(['jwt', 'anonymous'], { session: false }), wrapAsync(async (req, res) => { const log = req.log - const { origin, host } = req.headers + const { origin, host, referer } = req.headers const { account, chainId = 42220 } = req.body || {} const user: LoggedUser = req.user || { gdAddress: account } const clientIp = requestIp.getClientIp(req) - const gdContract = AdminWallet.walletsMap[chainId]?.tokenContract?._address - const faucetContract = AdminWallet.walletsMap[chainId]?.faucetContract?._address + const gdContract = AdminWallet.walletsMap[chainId]?.tokenContract?.address + const faucetContract = AdminWallet.walletsMap[chainId]?.faucetContract?.address log.debug('topwallet tx request:', { address: user.gdAddress, chainId, @@ -719,6 +730,7 @@ const setup = (app: Router, verifier: VerificationAPI, storage: StorageAPI) => { user: req.user, origin, host, + referer, clientIp })