diff --git a/.changeset/vast-needles-beam.md b/.changeset/vast-needles-beam.md new file mode 100644 index 000000000..a845151cc --- /dev/null +++ b/.changeset/vast-needles-beam.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.github/ISSUE_TEMPLATE_EXTENSION.md b/.github/ISSUE_TEMPLATE_EXTENSION.md new file mode 100644 index 000000000..524718e33 --- /dev/null +++ b/.github/ISSUE_TEMPLATE_EXTENSION.md @@ -0,0 +1,16 @@ + + + +### Expected Behaviour + +### Actual Behaviour + +### Reproduce Scenario (including but not limited to) + +#### Steps to Reproduce + +#### Platform and Version + +#### Sample Code that illustrates the problem + +#### Logs taken while reproducing problem diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 811dca939..bb3327ea7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,9 +2,12 @@ - - - + +## Changed Packages + + +- [ ] core +- [ ] reactor-extension ## Description @@ -23,12 +26,27 @@ ## Screenshots (if appropriate): +## Documentation + + +## Types of changes + + + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Improvement (non-breaking change which does not add functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) + ## Checklist: + + + +- [ ] I have added a Changeset file with a consumer-facing description of my changes. - [ ] I have signed the [Adobe Open Source CLA](https://opensource.adobe.com/cla.html) or I'm an Adobe employee. - [ ] I have made any necessary test changes and all tests pass. - [ ] I have run the Sandbox successfully. -- [ ] I have added a Changeset (`pnpm changeset`) or it is not necessary because this PR is not consumer-facing. diff --git a/.github/workflows/changeset-publish.yml b/.github/workflows/changeset-publish.yml index c235409cb..1f26e85c6 100644 --- a/.github/workflows/changeset-publish.yml +++ b/.github/workflows/changeset-publish.yml @@ -144,6 +144,18 @@ jobs: VERSION=$(jq -r '.version' package.json) echo "Root version after versioning: ${VERSION}" + - name: Bump extension when @adobe/alloy was released + if: hashFiles('packages/reactor-extension/package.json') != '' + run: | + ALLOY_NEW=$(jq -r '.releases[] | select(.name=="@adobe/alloy") | .newVersion' changeset-status.json) + if [ -z "${ALLOY_NEW}" ] || [ "${ALLOY_NEW}" = "null" ]; then + echo "No @adobe/alloy release in this run; skipping extension bump." + exit 0 + fi + cd packages/reactor-extension + pnpm add @adobe/alloy@$ALLOY_NEW + pnpm version patch --no-commit-hooks + - name: Update lockfile run: pnpm install --no-frozen-lockfile --ignore-scripts @@ -218,6 +230,31 @@ jobs: - name: Upload browser artifacts to CDN run: node scripts/uploadToCDN.js + - name: Package and deploy extension to Reactor (when @adobe/alloy was released) + if: hashFiles('packages/reactor-extension/package.json') != '' + env: + REACTOR_IO_INTEGRATION_CLIENT_SECRET: ${{ secrets.REACTOR_IO_INTEGRATION_CLIENT_SECRET }} + run: | + if ! jq -e '.releases[] | select(.name=="@adobe/alloy")' changeset-status.json >/dev/null; then + echo "@adobe/alloy was not in this release; skipping extension deploy." + exit 0 + fi + EXT_VERSION=$(node -p "require('./packages/reactor-extension/package.json').version") + pnpm --filter reactor-extension-alloy run build + node scripts/deployExtensionToReactor.mjs "${EXT_VERSION}" + + - name: Restore extension workspace protocol for @adobe/alloy + if: hashFiles('packages/reactor-extension/package.json') != '' + run: | + if ! jq -e '.releases[] | select(.name=="@adobe/alloy")' changeset-status.json >/dev/null; then exit 0; fi + node -e " + const fs = require('fs'); + const p = JSON.parse(fs.readFileSync('packages/reactor-extension/package.json', 'utf8')); + if (p.dependencies['@adobe/alloy']) p.dependencies['@adobe/alloy'] = 'workspace:*'; + fs.writeFileSync('packages/reactor-extension/package.json', JSON.stringify(p, null, 2)); + " + git add packages/reactor-extension/package.json + - name: Re-enter beta prerelease mode for next cycle after a stable release if: needs.analyze.outputs.is_prerelease != 'true' run: pnpm changeset pre enter beta diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..2bd179614 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,38 @@ +name: CodeQL + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + - cron: "26 7 * * 3" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["javascript"] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/deployExtensionRelease.yml b/.github/workflows/deployExtensionRelease.yml new file mode 100644 index 000000000..4df3ac5af --- /dev/null +++ b/.github/workflows/deployExtensionRelease.yml @@ -0,0 +1,113 @@ +name: Deploy Extension Release + +on: + workflow_dispatch: + inputs: + version: + description: "Extension version (e.g. 2.34.2)" + required: true + +jobs: + validate: + name: Validate version + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/validate-version@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: ${{ github.event.inputs.version }} + + release: + name: Release + runs-on: ubuntu-latest + needs: validate + if: ${{ contains(github.event.inputs.version, '-') == false }} + environment: Production + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: latest + - name: Set up Node.js + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + cache: pnpm + - uses: webfactory/ssh-agent@v0.9.1 + with: + ssh-private-key: ${{ secrets.ALLOY_BOT_GITHUB_SSH_PRIVATE_KEY }} + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Version extension + run: pnpm version ${{ github.event.inputs.version }} --no-commit-hooks + working-directory: packages/reactor-extension + - name: Build extension (refresh extension.json) + run: pnpm --filter reactor-extension-alloy run build + - name: Commit and push + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "gh-actions-$GITHUB_ACTOR@github.com" + git remote set-url origin "git@github.com:${{ github.repository }}.git" + git add packages/reactor-extension/package.json + git diff --staged --quiet || git commit -m "[skip ci] extension ${{ github.event.inputs.version }}" + git push origin HEAD:${{ github.ref_name }} + - name: Package and deploy to Reactor + env: + REACTOR_IO_INTEGRATION_CLIENT_SECRET: ${{ secrets.REACTOR_IO_INTEGRATION_CLIENT_SECRET }} + run: node scripts/deployExtensionToReactor.mjs ${{ github.event.inputs.version }} + - uses: actions/upload-artifact@v4 + with: + name: extension-package + path: packages/reactor-extension/package-adobe-alloy-${{ github.event.inputs.version }}.zip + - name: Record release + uses: adobe/project-card-release-automation/record-release@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: ${{ github.event.inputs.version }} + + prerelease: + name: Prerelease + runs-on: ubuntu-latest + needs: validate + if: ${{ contains(github.event.inputs.version, '-') }} + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: latest + - name: Set up Node.js + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + cache: pnpm + - uses: webfactory/ssh-agent@v0.9.1 + with: + ssh-private-key: ${{ secrets.ALLOY_BOT_GITHUB_SSH_PRIVATE_KEY }} + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Version extension + run: pnpm version ${{ github.event.inputs.version }} --no-commit-hooks + working-directory: packages/reactor-extension + - name: Build extension (refresh extension.json) + run: pnpm --filter reactor-extension-alloy run build + - name: Commit and push + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "gh-actions-$GITHUB_ACTOR@github.com" + git remote set-url origin "git@github.com:${{ github.repository }}.git" + git add packages/reactor-extension/package.json + git diff --staged --quiet || git commit -m "[skip ci] extension ${{ github.event.inputs.version }}" + git push origin HEAD:${{ github.ref_name }} + - name: Package and deploy to Reactor + env: + REACTOR_IO_INTEGRATION_CLIENT_SECRET: ${{ secrets.REACTOR_IO_INTEGRATION_CLIENT_SECRET }} + run: node scripts/deployExtensionToReactor.mjs ${{ github.event.inputs.version }} + - uses: actions/upload-artifact@v4 + with: + name: extension-package + path: packages/reactor-extension/package-adobe-alloy-${{ github.event.inputs.version }}.zip + - name: Record release + uses: adobe/project-card-release-automation/record-release@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: ${{ github.event.inputs.version }} diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml index 1558214ef..db512c391 100644 --- a/.github/workflows/dev.yaml +++ b/.github/workflows/dev.yaml @@ -22,6 +22,8 @@ jobs: run: pnpm install --frozen-lockfile - name: Linting run: pnpm run lint + - name: Format check + run: pnpm run format:check unit-test: name: "Test" @@ -37,8 +39,10 @@ jobs: node-version-file: .nvmrc - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Build Alloy + - name: Build Alloy (libEs5, libEs6, dist, distTest) run: pnpm run build + - name: Build all packages + run: pnpm -r run build - name: Run Test run: pnpm run test env: diff --git a/.github/workflows/generate-coverage-report.yaml b/.github/workflows/generate-coverage-report.yaml index 48c165505..f28a1d71d 100644 --- a/.github/workflows/generate-coverage-report.yaml +++ b/.github/workflows/generate-coverage-report.yaml @@ -31,9 +31,12 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Build Alloy + - name: Build Alloy (dist, distTest for integration tests) run: pnpm run build + - name: Build all packages + run: pnpm -r run build + - name: Run Unit Test with coverage run: pnpm run test:coverage env: diff --git a/.github/workflows/initializeExtensionRelease.yml b/.github/workflows/initializeExtensionRelease.yml new file mode 100644 index 000000000..ba54fa742 --- /dev/null +++ b/.github/workflows/initializeExtensionRelease.yml @@ -0,0 +1,19 @@ +name: Initialize Intended Extension Release + +on: + workflow_dispatch: + inputs: + type: + description: "Release Type [major|minor|patch]" + required: true + +jobs: + initializeIntendedRelease: + name: Initialize Intended Extension Release + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/initialize-card@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + releaseType: ${{ github.event.inputs.type }} + projectNumber: 1 diff --git a/.github/workflows/triggerExtensionRelease.yml b/.github/workflows/triggerExtensionRelease.yml new file mode 100644 index 000000000..8c79c971a --- /dev/null +++ b/.github/workflows/triggerExtensionRelease.yml @@ -0,0 +1,21 @@ +name: Trigger Extension Release + +on: + project_card: + types: [moved] + push: + branches: + - main + - "v[0-9]+" + - "v[0-9]+.[0-9]+" + +jobs: + triggerReleaseIfNeeded: + name: Trigger Extension Release If Needed + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/trigger-release@v2 + with: + token: ${{ secrets.ALLOY_BOT_GITHUB_TOKEN }} + workflowId: "deployExtensionRelease.yml" + projectNumber: 1 diff --git a/eslint.config.js b/eslint.config.js index cf98e5c42..2de49c667 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -16,6 +16,10 @@ import compatPlugin from "eslint-plugin-compat"; import importPlugin from "eslint-plugin-import"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; import react from "eslint-plugin-react"; +import jsxA11y from "eslint-plugin-jsx-a11y"; +import unusedImports from "eslint-plugin-unused-imports"; +import testingLibrary from "eslint-plugin-testing-library"; +import babelParser from "@babel/eslint-parser"; import { defineConfig, globalIgnores } from "eslint/config"; import { glob } from "glob"; import globals from "globals"; @@ -24,31 +28,37 @@ import license from "./scripts/eslint/licenseRule.js"; const allComponentPaths = glob.sync("packages/core/src/components/*/"); +const sharedIgnores = [ + "sandboxes/**", + "dist/**", + "distTest/**", + "packages/**/dist/**", + "packages/**/distTest/**", + "launch*.js", + "**/*.min.js", + "**/at.js", + "**/*AppMeasurement*", +]; + export default defineConfig([ importPlugin.flatConfigs.recommended, pluginJs.configs.recommended, eslintPluginPrettierRecommended, compatPlugin.configs["flat/recommended"], globalIgnores([ - "sandboxes/**/build/", - "sandboxes/**/public/", + "sandboxes/**", "node_modules/", "launch*.js", + "packages/reactor-extension/dist/**", + "packages/reactor-extension/src/lib/runAlloy.js", + "packages/core/test/**", + "**/scripts/**/*.mjs", ]), + // License: warn only; do not run on extension so --fix never adds header there { name: "alloy/license-header", files: ["**/*.{cjs,js,mjs,jsx}"], - ignores: [ - "sandboxes/**", - "dist/**", - "distTest/**", - "packages/**/dist/**", - "packages/**/distTest/**", - "launch*.js", - "**/*.min.js", - "**/at.js", - "**/*AppMeasurement*", - ], + ignores: [...sharedIgnores, "packages/reactor-extension/**"], plugins: { local: { rules: { @@ -57,9 +67,10 @@ export default defineConfig([ }, }, rules: { - "local/license": "error", + "local/license": "warn", }, }, + // Base shared: rules that work for both core and extension { name: "alloy/shared", languageOptions: { @@ -84,38 +95,37 @@ export default defineConfig([ }, ], "valid-typeof": ["error", { requireStringLiterals: true }], - "no-console": "error", - "no-underscore-dangle": "error", - "func-names": "error", - "import/no-relative-packages": "error", + "no-console": ["warn", { allow: ["error"] }], + "no-underscore-dangle": [ + "error", + { + allow: [ + "_experience", + "__dirname", + "__filename", + "__alloyMonitors", + "__alloyNS", + ], + }, + ], "no-bitwise": "error", "default-param-last": "error", eqeqeq: ["error", "smart"], "dot-notation": "error", "no-await-in-loop": "error", "default-case": "error", - "prefer-object-spread": "error", // disallow certain syntax forms + "prefer-object-spread": "error", "import/no-unresolved": [ "error", - { ignore: ["eslint/config", "@adobe/alloy-core"] }, - ], - // https://eslint.org/docs/rules/no-restricted-syntax - "no-restricted-syntax": [ - "error", - { - selector: "ForInStatement", - message: - "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.", - }, - { - selector: "LabeledStatement", - message: - "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.", - }, { - selector: "WithStatement", - message: - "`with` is disallowed in strict mode because it makes code impossible to predict and optimize.", + ignore: [ + "eslint/config", + "@adobe/alloy-core", + "@adobe/alloy", + "@adobe/alloy/*", + "@adobe/auth-token", + "uuid", + ], }, ], "max-classes-per-file": "error", @@ -135,13 +145,38 @@ export default defineConfig([ "import/no-named-as-default-member": "off", "no-unused-vars": ["error", { ignoreRestSiblings: true }], "prettier/prettier": "error", - "func-style": "error", - // Turning this off allows us to import devDependencies in our build tools. - // We enable the rule in src/.eslintrc.js since that's the only place we - // want to disallow importing extraneous dependencies. "import/prefer-default-export": "off", }, }, + // Core/root only: stricter rules that extension does not use + { + name: "alloy/strict", + files: ["**/*.{cjs,js,mjs,jsx}"], + ignores: ["packages/reactor-extension/**", ...sharedIgnores], + rules: { + "func-names": "error", + "func-style": "error", + "import/no-relative-packages": "error", + "no-restricted-syntax": [ + "error", + { + selector: "ForInStatement", + message: + "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.", + }, + { + selector: "LabeledStatement", + message: + "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.", + }, + { + selector: "WithStatement", + message: + "`with` is disallowed in strict mode because it makes code impossible to predict and optimize.", + }, + ], + }, + }, { name: "alloy/core-src", files: ["packages/core/src/**/*.{cjs,js}"], @@ -149,10 +184,7 @@ export default defineConfig([ "import/no-extraneous-dependencies": [ "error", { - devDependencies: [ - "vitest.config.js", - // Add other files that import devDependencies for which you don't want to see esLint errors. - ], + devDependencies: ["vitest.config.js"], }, ], "import/extensions": [ @@ -165,18 +197,13 @@ export default defineConfig([ "error", { zones: [ - // prevent components from importing from other components, but allow - // importing from themselves and specific media-related cross-imports ...allComponentPaths.map((componentPath, _, allPaths) => ({ target: componentPath + "/", from: [ "packages/core/src/core", "packages/core/src/baseCode", - // ...allPaths.filter((p) => p !== componentPath), - // TODO: Figure out why this was changed. ...allPaths .filter((p) => { - // Allow MediaAnalyticsBridge <-> StreamingMedia imports if ( componentPath.includes("MediaAnalyticsBridge") && p.includes("StreamingMedia") @@ -187,7 +214,6 @@ export default defineConfig([ p.includes("MediaAnalyticsBridge") ) return false; - // Allow imports from Context by media components if ( (componentPath.includes("MediaAnalyticsBridge") || componentPath.includes("StreamingMedia")) && @@ -227,7 +253,7 @@ export default defineConfig([ }, { name: "alloy/scripts", - files: ["scripts/**/*.{cjs,js}"], + files: ["scripts/**/*.{cjs,mjs,js}"], languageOptions: { globals: { ...globals.node, @@ -245,7 +271,7 @@ export default defineConfig([ }, { name: "alloy/tests", - files: ["packages/**/test/**/*.{cjs,js}"], + files: ["packages/reactor-extension/test/**/*.{cjs,js,jsx}"], rules: { "import/extensions": [ "error", @@ -253,12 +279,13 @@ export default defineConfig([ js: "always", }, ], + "no-unused-vars": "warn", }, }, { name: "alloy/tests/vitest", files: [ - "packages/**/test/{unit,integration}/**/*.{cjs,js}", + "packages/**/test/{unit,integration}/**/*.{cjs,js,mjs,jsx}", "scripts/specs/**/*.{cjs,js}", ], settings: { @@ -271,7 +298,7 @@ export default defineConfig([ }, { name: "alloy/tests/functional", - files: ["packages/**/test/functional/**/*.{cjs,js}"], + files: ["packages/**/test/functional/**/*.{cjs,js,mjs,jsx}"], languageOptions: { globals: { test: "readonly", @@ -310,13 +337,12 @@ export default defineConfig([ "react/prop-types": "off", }, }, - // Vite plugins are ESM-only and confuse eslint-plugin-import; disable the - // affected `import/*` rules for the Vite config file only. { name: "alloy/configs", files: [ "sandboxes/**/vite.config.mjs", "packages/**/rollup.config.js", + "packages/**/vitest.config.js", "rollup.config.js", "eslint.config.js", "vitest.config.js", @@ -334,4 +360,137 @@ export default defineConfig([ "import/no-extraneous-dependencies": "error", }, }, + + // --- Extension-only: packages/reactor-extension (repo-relative paths) --- + // Only .js/.cjs/.jsx; .mjs in scripts/ are not linted (see globalIgnores) + { + name: "alloy/reactor-extension", + files: ["packages/reactor-extension/**/*.{cjs,js,jsx}"], + settings: { + react: { + version: "19.0.0", + }, + }, + languageOptions: { + parser: babelParser, + parserOptions: { + babelOptions: { + presets: ["@babel/preset-env", "@babel/preset-react"], + }, + }, + ecmaVersion: 2021, + globals: { + ...globals.browser, + ...globals.node, + }, + }, + plugins: { + "unused-imports": unusedImports, + vitest, + react, + "jsx-a11y": jsxA11y, + }, + rules: { + "import/extensions": "off", + "import/default": "off", + "import/namespace": "off", + "func-names": "off", + "no-restricted-syntax": "off", + "no-param-reassign": "off", + "prefer-destructuring": "off", + "no-unused-vars": "off", + "unused-imports/no-unused-imports": "error", + "unused-imports/no-unused-vars": ["error", { argsIgnorePattern: "^_" }], + "import/no-extraneous-dependencies": "off", + "vitest/expect-expect": "error", + "vitest/no-disabled-tests": "warn", + "vitest/no-focused-tests": "error", + "vitest/no-identical-title": "error", + "react/require-default-props": "off", + "react/no-array-index-key": "off", + "react/forbid-prop-types": "off", + "react/jsx-props-no-spreading": "off", + "react/function-component-definition": [ + "error", + { namedComponents: "arrow-function" }, + ], + "jsx-a11y/label-has-associated-control": [ + "error", + { controlComponents: ["WrappedField"] }, + ], + "jsx-a11y/label-has-for": "off", + "jsx-a11y/anchor-is-valid": ["error", { components: [] }], + }, + }, + { + name: "alloy/reactor-extension/src", + files: ["packages/reactor-extension/src/**/*.{cjs,js,jsx}"], + languageOptions: { + globals: { + _satellite: "readonly", + }, + }, + rules: { + "import/no-extraneous-dependencies": "error", + }, + }, + { + name: "alloy/reactor-extension/view-and-tests", + files: [ + "packages/reactor-extension/src/view/**/*.{js,jsx}", + "packages/reactor-extension/test/functional/**/*.{js,jsx}", + "packages/reactor-extension/test/integration/**/*.{js,jsx}", + ], + rules: { + ...react.configs.recommended.rules, + ...react.configs["jsx-runtime"].rules, + }, + }, + { + name: "alloy/reactor-extension/src-lib", + files: ["packages/reactor-extension/src/lib/**/*.{js,jsx}"], + languageOptions: { + globals: { + turbine: "readonly", + }, + }, + rules: { + "no-var": "off", + "func-names": "off", + "no-underscore-dangle": [ + "error", + { allow: ["__alloyNS", "__alloyMonitors"] }, + ], + }, + }, + { + name: "alloy/reactor-extension/integration-testing-library", + files: ["packages/reactor-extension/test/integration/**/*.{js,jsx}"], + ...testingLibrary.configs["flat/react"], + rules: { + ...testingLibrary.configs["flat/react"].rules, + "testing-library/prefer-screen-queries": "off", + }, + }, + // Extension functional tests use testcafe/browser patterns; relax vitest assertion rules + { + name: "alloy/reactor-extension/functional-tests", + files: ["packages/reactor-extension/test/functional/**/*.{cjs,js,jsx}"], + rules: { + "vitest/expect-expect": "off", + "vitest/no-identical-title": "off", + "unused-imports/no-unused-vars": [ + "error", + { argsIgnorePattern: "^(_|t)$" }, + ], + }, + }, + // Extension unit tests: relax title rule for dynamic titles + { + name: "alloy/reactor-extension/unit-tests", + files: ["packages/reactor-extension/test/unit/**/*.{cjs,js,jsx}"], + rules: { + "vitest/valid-title": "warn", + }, + }, ]); diff --git a/package.json b/package.json index 01d0adea5..2137fd0d4 100644 --- a/package.json +++ b/package.json @@ -23,19 +23,20 @@ }, "scripts": { "clean": "rimraf dist distTest libEs5 libEs6 types", - "lint": "eslint --cache --fix \"*.{js,cjs,mjs,jsx}\" \"{sandboxes/*/src,packages/*/src,test,scripts}/**/*.{js,cjs,mjs,jsx}\"", - "format": "prettier --write \"*.{html,js,cjs,mjs,jsx}\" \"{sandboxes/*/src,packages/*/src,test,scripts}/**/*.{html,js,cjs,mjs,jsx}\"", + "lint": "eslint --cache --fix \"*.{js,cjs,jsx}\" \"packages/core/src/**/*.{js,cjs,jsx}\" \"packages/reactor-extension/**/*.{js,cjs,jsx}\" \"scripts/**/*.{js,cjs,jsx}\"", + "format": "prettier --write \"*.{html,js,cjs,mjs,jsx}\" \"{sandboxes/*/src,packages/*/src,packages/*/scripts,packages/*/test,test,scripts}/**/*.{html,js,cjs,mjs,jsx}\"", + "format:check": "prettier --check \"*.{html,js,cjs,mjs,jsx}\" \"{sandboxes/*/src,packages/*/src,packages/*/scripts,packages/*/test,test,scripts}/**/*.{html,js,cjs,mjs,jsx}\"", "types": "tsc", - "test": "pnpm exec playwright install chromium && vitest run && pnpm run test:scripts", - "test:coverage": "rimraf coverage && pnpm exec playwright install chromium && vitest run --coverage", - "test:unit": "pnpm exec playwright install chromium && vitest run --project=unit", - "test:unit:debug": "pnpm exec playwright install chromium && vitest --no-file-parallelism --project=unit --browser=chromium --browser.provider=playwright --browser.headless=false", - "test:unit:watch": "pnpm exec playwright install chromium && vitest --project=unit", - "test:unit:coverage": "pnpm exec playwright install chromium && vitest run --coverage --project=unit", - "test:integration": "pnpm exec playwright install chromium && vitest run --project=integration", - "test:integration:debug": "pnpm exec playwright install chromium && vitest --no-file-parallelism --project=integration --browser=chromium --browser.provider=playwright --browser.headless=false", - "test:integration:watch": "pnpm exec playwright install chromium && vitest --project=integration", - "test:integration:coverage": "pnpm exec playwright install chromium && vitest run --coverage --project=integration", + "test": "node scripts/runTests.js", + "test:coverage": "node scripts/runTests.js --coverage", + "test:unit": "node scripts/runTests.js --mode=unit", + "test:unit:core": "node scripts/runTests.js --mode=unit --package=core", + "test:unit:extension": "node scripts/runTests.js --mode=unit --package=extension", + "test:unit:watch:extension": "node scripts/runTests.js --watch --mode=unit --package=extension", + "test:integration:core": "node scripts/runTests.js --mode=integration --package=core", + "test:integration:extension": "node scripts/runTests.js --mode=integration --package=extension", + "test:integration:watch:extension": "node scripts/runTests.js --watch --mode=integration --package=extension", + "test:integration:debug": "node scripts/runTests.js --debug --mode=integration", "test:functional": "pnpm exec playwright install chromium && EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" testcafe chromium", "test:functional:custom": "node scripts/helpers/runFunctionalTests.js", "test:functional:watch": "pnpm exec playwright install chromium && EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" ./scripts/watchFunctionalTests.js --browsers chromium", @@ -44,24 +45,31 @@ "test:functional:build:prod": "rollup -c --environment BASE_CODE_MIN,NPM_PACKAGE_PROD", "test:scripts": "vitest run --config=./scripts/specs/vitest.config.js", "dev": "concurrently --names build,sandbox \"rollup -c -w --environment SANDBOX_SERVICE_WORKER\" \"REACT_APP_NONCE=123 pnpm run --filter @adobe/alloy-sandbox-browser start\"", - "build": "pnpm run clean && rollup -c --environment BASE_CODE_MIN,STANDALONE,STANDALONE_MIN,SERVICE_WORKER,SERVICE_WORKER_MIN && echo \"Base Code:\" && cat distTest/baseCode.min.js", + "build": "pnpm run clean && pnpm run build:lib && rollup -c --environment BASE_CODE_MIN,STANDALONE,STANDALONE_MIN,SERVICE_WORKER,SERVICE_WORKER_MIN && echo \"Base Code:\" && cat distTest/baseCode.min.js", + "build:all": "pnpm run build && pnpm --filter reactor-extension-alloy run build", "build:watch": "pnpm run clean && rollup -c --watch --environment BASE_CODE_MIN,STANDALONE", "build:custom": "node scripts/alloyBuilder.js", + "build:extension": "pnpm run build:all", + "test:extension": "pnpm --filter reactor-extension-alloy run test", + "package:extension": "pnpm --filter reactor-extension-alloy run package", + "sandbox:extension": "pnpm --filter reactor-extension-alloy run sandbox", + "dev:extension": "pnpm --filter reactor-extension-alloy run dev", "prepare": "husky", - "prepack": "pnpm run clean && babel packages/core/src -d libEs5 --env-name npmEs5 && babel packages/core/src -d libEs6 --env-name npmEs6 && echo '{\"type\":\"commonjs\"}' > libEs5/package.json && echo '{\"type\":\"module\"}' > libEs6/package.json && pnpm run types", + "build:lib": "babel packages/core/src -d libEs5 --env-name npmEs5 && babel packages/core/src -d libEs6 --env-name npmEs6 && echo '{\"type\":\"commonjs\"}' > libEs5/package.json && echo '{\"type\":\"module\"}' > libEs6/package.json", + "prepack": "pnpm run clean && pnpm run build:lib && pnpm run types", "checkthattestfilesexist": "./scripts/checkThatTestFilesExist.js" }, "lint-staged": { "./*.{cjs,mjs,js,jsx}": [ "eslint --cache --fix" ], - "./{packages/*/src,test,scripts}/**/*.{cjs,mjs,js,jsx}": [ + "./{packages/*/src,packages/*/scripts,packages/*/test,test,scripts}/**/*.{cjs,mjs,js,jsx}": [ "eslint --cache --fix" ], "./*.{html,js,cjs,mjs,jsx}": [ "prettier --write" ], - "./{sandboxes/browser,packages/*/src,test,scripts}/**/*.{html,js,cjs,mjs,jsx}": [ + "./{sandboxes/browser,packages/*/src,packages/*/scripts,packages/*/test,test,scripts}/**/*.{html,js,cjs,mjs,jsx}": [ "prettier --write" ] }, @@ -91,7 +99,9 @@ "devDependencies": { "@adobe/alloy": "next", "@babel/cli": "^7.28.3", + "@babel/eslint-parser": "^7.28.5", "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/preset-react": "^7.28.5", "@changesets/changelog-github": "^0.5.2", "@changesets/cli": "^2.29.8", "@eslint/js": "^9.38.0", @@ -100,6 +110,8 @@ "@vitest/browser-playwright": "^4.0.6", "@vitest/coverage-v8": "^4.0.6", "@vitest/eslint-plugin": "^1.4.0", + "@vitejs/plugin-react": "^5.1.1", + "happy-dom": "^20.0.10", "chalk": "^5.6.2", "concurrently": "^9.2.1", "date-fns": "^4.1.0", @@ -107,8 +119,11 @@ "eslint-config-prettier": "^10.1.8", "eslint-plugin-compat": "^6.0.2", "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", + "eslint-plugin-testing-library": "^7.13.4", + "eslint-plugin-unused-imports": "^4.3.0", "glob": "^11.0.3", "globals": "^16.5.0", "husky": "^9.1.7", diff --git a/packages/core/src/components/PushNotifications/request/makeSendServiceWorkerTrackingData.js b/packages/core/src/components/PushNotifications/request/makeSendServiceWorkerTrackingData.js index 91ce1b004..9419bce04 100644 --- a/packages/core/src/components/PushNotifications/request/makeSendServiceWorkerTrackingData.js +++ b/packages/core/src/components/PushNotifications/request/makeSendServiceWorkerTrackingData.js @@ -10,8 +10,6 @@ OF ANY KIND, either express or implied. See the License for the specific languag governing permissions and limitations under the License. */ -/* eslint-disable no-underscore-dangle */ - /** @import { ServiceWorkerLogger } from '../types.js' */ /** @import { TrackingDataPayload } from '../types.js' */ diff --git a/packages/core/src/core/createEvent.js b/packages/core/src/core/createEvent.js index 3fedbe899..4bce02884 100644 --- a/packages/core/src/core/createEvent.js +++ b/packages/core/src/core/createEvent.js @@ -19,14 +19,10 @@ import { const getXdmPropositions = (xdm) => { return xdm && - // eslint-disable-next-line no-underscore-dangle xdm._experience && - // eslint-disable-next-line no-underscore-dangle xdm._experience.decisioning && - // eslint-disable-next-line no-underscore-dangle isNonEmptyArray(xdm._experience.decisioning.propositions) - ? // eslint-disable-next-line no-underscore-dangle - xdm._experience.decisioning.propositions + ? xdm._experience.decisioning.propositions : []; }; @@ -119,7 +115,6 @@ export default () => { this.mergeXdm(userXdm); } if (newPropositions.length > 0) { - // eslint-disable-next-line no-underscore-dangle content.xdm._experience.decisioning.propositions = newPropositions; } diff --git a/packages/core/src/core/index.js b/packages/core/src/core/index.js index 60f636c3d..5f31ecba1 100644 --- a/packages/core/src/core/index.js +++ b/packages/core/src/core/index.js @@ -215,7 +215,6 @@ export const createExecuteCommand = ({ }; export default ({ components }) => { - // eslint-disable-next-line no-underscore-dangle const instanceNames = window.__alloyNS; if (instanceNames) { diff --git a/packages/core/src/utils/event.js b/packages/core/src/utils/event.js index 9f03b0da1..b7d6e28bf 100644 --- a/packages/core/src/utils/event.js +++ b/packages/core/src/utils/event.js @@ -12,7 +12,6 @@ governing permissions and limitations under the License. import { EVENT_TYPE_TRUE } from "../constants/eventType.js"; -/* eslint-disable no-underscore-dangle */ export const mergeDecisionsMeta = ( event, decisionsMeta, diff --git a/packages/core/src/utils/uuid.js b/packages/core/src/utils/uuid.js index fe8eeaec1..0ff58e316 100644 --- a/packages/core/src/utils/uuid.js +++ b/packages/core/src/utils/uuid.js @@ -10,7 +10,6 @@ OF ANY KIND, either express or implied. See the License for the specific languag governing permissions and limitations under the License. */ -// eslint-disable-next-line import/no-unresolved import { v4 as uuidv4 } from "uuid"; export default uuidv4; diff --git a/packages/core/test/functional/specs/BrandConcierge/sendConversationalEvent.js b/packages/core/test/functional/specs/BrandConcierge/sendConversationalEvent.js index 14d717512..e9608b205 100644 --- a/packages/core/test/functional/specs/BrandConcierge/sendConversationalEvent.js +++ b/packages/core/test/functional/specs/BrandConcierge/sendConversationalEvent.js @@ -19,12 +19,9 @@ import createAlloyProxy from "../../helpers/createAlloyProxy.js"; import orgMainConfigMain from "../../helpers/constants/configParts/orgMainConfigMain.js"; const networkLogger = createNetworkLogger(); -const config = compose( - orgMainConfigMain, - { - stickyConversationSession: false, - }, -); +const config = compose(orgMainConfigMain, { + stickyConversationSession: false, +}); createFixture({ title: "BrandConcierge - sendConversationEvent", @@ -41,10 +38,10 @@ test.meta({ test("Test 1: C2590433 - Send conversational event with message only", async () => { const alloy = createAlloyProxy(); await alloy.configure(config); - + let streamResponseCalled = false; let capturedResponse = null; - + await alloy.sendConversationEvent({ message: "Hello, I need help with my order", onStreamResponse: (response) => { @@ -59,15 +56,19 @@ test("Test 1: C2590433 - Send conversational event with message only", async () const requestBody = JSON.parse(request.request.body); // Verify message is in the query parameter - await t.expect(requestBody.query.conversation.message).eql("Hello, I need help with my order"); + await t + .expect(requestBody.query.conversation.message) + .eql("Hello, I need help with my order"); await t.expect(requestBody.query.conversation.surfaces).ok(); - + // Verify event has ECID in identityMap await t.expect(requestBody.events[0].xdm.identityMap.ECID).ok(); await t.expect(requestBody.events[0].xdm.identityMap.ECID.length).gte(1); - + // Verify onStreamResponse was called with data - await t.expect(streamResponseCalled).ok("onStreamResponse callback should be called"); + await t + .expect(streamResponseCalled) + .ok("onStreamResponse callback should be called"); }); test.meta({ @@ -100,9 +101,11 @@ test("Test 2: C2590434 - Send conversational event with data object", async () = // Verify data is in the query parameter await t.expect(requestBody.query.conversation.data.type).eql("feedback"); await t.expect(requestBody.query.conversation.data.payload.rating).eql(5); - await t.expect(requestBody.query.conversation.data.payload.comment).eql("Great service!"); + await t + .expect(requestBody.query.conversation.data.payload.comment) + .eql("Great service!"); await t.expect(requestBody.query.conversation.surfaces).ok(); - + // Verify event has ECID in identityMap await t.expect(requestBody.events[0].xdm.identityMap.ECID).ok(); await t.expect(requestBody.events[0].xdm.identityMap.ECID.length).gte(1); @@ -139,11 +142,17 @@ test("Test 3: C2590435 - Send conversational event with feedback in XDM", async const requestBody = JSON.parse(request.request.body); // Verify XDM data is properly merged - await t.expect(requestBody.events[0].xdm.interactionId).eql("test-interaction-123"); - await t.expect(requestBody.events[0].xdm.conversationId).eql("test-conversation-456"); + await t + .expect(requestBody.events[0].xdm.interactionId) + .eql("test-interaction-123"); + await t + .expect(requestBody.events[0].xdm.conversationId) + .eql("test-conversation-456"); await t.expect(requestBody.events[0].xdm.conversation.feedback.rating).eql(4); - await t.expect(requestBody.events[0].xdm.conversation.feedback.comment).eql("Good bot response"); - + await t + .expect(requestBody.events[0].xdm.conversation.feedback.comment) + .eql("Good bot response"); + // Verify event has ECID in identityMap await t.expect(requestBody.events[0].xdm.identityMap.ECID).ok(); await t.expect(requestBody.events[0].xdm.identityMap.ECID.length).gte(1); @@ -206,6 +215,8 @@ test("Test 5: C2590437 - Send conversational event with missing required data fi } // Verify that an error was thrown - await t.expect(errorThrown).ok("Should throw error for missing required data.type field"); + await t + .expect(errorThrown) + .ok("Should throw error for missing required data.type field"); await t.expect(errorMessage).contains("", "Error message should be present"); }); diff --git a/packages/core/test/unit/helpers/cleanUpDomChanges.js b/packages/core/test/unit/helpers/cleanUpDomChanges.js index 82d694fa5..2413a6725 100644 --- a/packages/core/test/unit/helpers/cleanUpDomChanges.js +++ b/packages/core/test/unit/helpers/cleanUpDomChanges.js @@ -9,10 +9,7 @@ OF ANY KIND, either express or implied. See the License for the specific languag governing permissions and limitations under the License. */ -import { - selectNodes, - removeNode, -} from "../../../src/utils/dom/index.js"; +import { selectNodes, removeNode } from "../../../src/utils/dom/index.js"; /** * Removes container DOM nodes used for all the diff --git a/packages/core/test/unit/specs/components/Advertising/handlers/createAdConversionHandler.spec.js b/packages/core/test/unit/specs/components/Advertising/handlers/createAdConversionHandler.spec.js index 21efbf15f..3c0f25a71 100644 --- a/packages/core/test/unit/specs/components/Advertising/handlers/createAdConversionHandler.spec.js +++ b/packages/core/test/unit/specs/components/Advertising/handlers/createAdConversionHandler.spec.js @@ -29,9 +29,7 @@ Object.defineProperty(globalThis, "fetch", { vi.mock( "../../../../../../src/utils/request/createDataCollectionRequestPayload.js", ); -vi.mock( - "../../../../../../src/utils/request/createDataCollectionRequest.js", -); +vi.mock("../../../../../../src/utils/request/createDataCollectionRequest.js"); describe("Advertising::createAdConversionHandler", () => { let eventManager; diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createBuildEndpointUrl.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createBuildEndpointUrl.spec.js index 8e9348efd..025869507 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createBuildEndpointUrl.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createBuildEndpointUrl.spec.js @@ -19,17 +19,17 @@ describe("createBuildEndpointUrl", () => { beforeEach(() => { queryStringMock = { - stringify: vi.fn() + stringify: vi.fn(), }; mockRequest = { getRequestParams: vi.fn().mockReturnValue({ - existingParam: "value" + existingParam: "value", }), getId: vi.fn().mockReturnValue("test-request-id"), getEdgeSubPath: vi.fn().mockReturnValue("/v1/conversation"), getAction: vi.fn().mockReturnValue("chat"), - getDatastreamIdOverride: vi.fn().mockReturnValue(null) + getDatastreamIdOverride: vi.fn().mockReturnValue(null), }; buildEndpointUrl = createBuildEndpointUrl({ queryString: queryStringMock }); @@ -40,12 +40,14 @@ describe("createBuildEndpointUrl", () => { }); it("builds URL with request parameters", () => { - queryStringMock.stringify.mockReturnValue("existingParam=value&requestId=test-request-id&configId=test-datastream"); + queryStringMock.stringify.mockReturnValue( + "existingParam=value&requestId=test-request-id&configId=test-datastream", + ); const result = buildEndpointUrl({ edgeDomain: "edge.adobedc.net", request: mockRequest, - datastreamId: "test-datastream" + datastreamId: "test-datastream", }); expect(mockRequest.getRequestParams).toHaveBeenCalled(); @@ -55,44 +57,54 @@ describe("createBuildEndpointUrl", () => { expect(queryStringMock.stringify).toHaveBeenCalledWith({ existingParam: "value", requestId: "test-request-id", - configId: "test-datastream" + configId: "test-datastream", }); - expect(result).toBe("https://edge.adobedc.net/v1/conversation/chat?existingParam=value&requestId=test-request-id&configId=test-datastream"); + expect(result).toBe( + "https://edge.adobedc.net/v1/conversation/chat?existingParam=value&requestId=test-request-id&configId=test-datastream", + ); }); it("uses datastream override when available", () => { mockRequest.getDatastreamIdOverride.mockReturnValue("override-datastream"); - queryStringMock.stringify.mockReturnValue("existingParam=value&requestId=test-request-id&configId=override-datastream"); + queryStringMock.stringify.mockReturnValue( + "existingParam=value&requestId=test-request-id&configId=override-datastream", + ); const result = buildEndpointUrl({ edgeDomain: "edge.adobedc.net", request: mockRequest, - datastreamId: "default-datastream" + datastreamId: "default-datastream", }); expect(mockRequest.getDatastreamIdOverride).toHaveBeenCalled(); expect(queryStringMock.stringify).toHaveBeenCalledWith({ existingParam: "value", requestId: "test-request-id", - configId: "override-datastream" + configId: "override-datastream", }); - expect(result).toBe("https://edge.adobedc.net/v1/conversation/chat?existingParam=value&requestId=test-request-id&configId=override-datastream"); + expect(result).toBe( + "https://edge.adobedc.net/v1/conversation/chat?existingParam=value&requestId=test-request-id&configId=override-datastream", + ); }); it("handles empty request parameters", () => { mockRequest.getRequestParams.mockReturnValue({}); - queryStringMock.stringify.mockReturnValue("requestId=test-request-id&configId=test-datastream"); + queryStringMock.stringify.mockReturnValue( + "requestId=test-request-id&configId=test-datastream", + ); const result = buildEndpointUrl({ edgeDomain: "edge.adobedc.net", request: mockRequest, - datastreamId: "test-datastream" + datastreamId: "test-datastream", }); expect(queryStringMock.stringify).toHaveBeenCalledWith({ requestId: "test-request-id", - configId: "test-datastream" + configId: "test-datastream", }); - expect(result).toBe("https://edge.adobedc.net/v1/conversation/chat?requestId=test-request-id&configId=test-datastream"); + expect(result).toBe( + "https://edge.adobedc.net/v1/conversation/chat?requestId=test-request-id&configId=test-datastream", + ); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createConversationServiceRequest.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createConversationServiceRequest.spec.js index 08feff5a6..03cd10282 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createConversationServiceRequest.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createConversationServiceRequest.spec.js @@ -19,7 +19,7 @@ describe("createConversationServiceRequest", () => { beforeEach(() => { mockPayload = { - message: "test message" + message: "test message", }; mockSessionId = "test-session-123"; }); @@ -29,7 +29,7 @@ describe("createConversationServiceRequest", () => { return createConversationServiceRequest({ payload: mockPayload, sessionId: mockSessionId, - ...options + ...options, }); }; @@ -38,7 +38,7 @@ describe("createConversationServiceRequest", () => { it("creates a request with proper payload", () => { const request = createConversationServiceRequest({ payload: mockPayload, - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request).toBeDefined(); @@ -49,7 +49,7 @@ describe("createConversationServiceRequest", () => { it("provides the appropriate action", () => { const request = createConversationServiceRequest({ payload: mockPayload, - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request.getAction()).toBe("conversations"); @@ -59,7 +59,7 @@ describe("createConversationServiceRequest", () => { const request = createConversationServiceRequest({ payload: mockPayload, action: "custom-action", - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request.getAction()).toBe("custom-action"); @@ -68,7 +68,7 @@ describe("createConversationServiceRequest", () => { it("never uses sendBeacon", () => { const request = createConversationServiceRequest({ payload: mockPayload, - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request.getUseSendBeacon()).toBe(false); @@ -77,20 +77,20 @@ describe("createConversationServiceRequest", () => { it("includes sessionId in request parameters", () => { const request = createConversationServiceRequest({ payload: mockPayload, - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request.getRequestParams()).toEqual({ - sessionId: mockSessionId + sessionId: mockSessionId, }); }); it("uses correct edge subpath", () => { const request = createConversationServiceRequest({ payload: mockPayload, - sessionId: mockSessionId + sessionId: mockSessionId, }); expect(request.getEdgeSubPath()).toBe("/brand-concierge"); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationEvent.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationEvent.spec.js index 65cf8ff09..45893122a 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationEvent.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationEvent.spec.js @@ -23,7 +23,7 @@ describe("createSendConversationEvent", () => { mergeQuery: vi.fn(), mergeXdm: vi.fn(), finalize: vi.fn(), - mergeMeta: vi.fn() + mergeMeta: vi.fn(), }; mockDependencies = { @@ -35,10 +35,10 @@ describe("createSendConversationEvent", () => { error: vi.fn(), }, eventManager: { - createEvent: vi.fn().mockReturnValue(mockEvent) + createEvent: vi.fn().mockReturnValue(mockEvent), }, consent: { - current: vi.fn().mockReturnValue({state: "in"}) + current: vi.fn().mockReturnValue({ state: "in" }), }, instanceName: "test-instance", sendEdgeNetworkRequest: vi.fn(), @@ -49,22 +49,24 @@ describe("createSendConversationEvent", () => { edgeBasePath: "/ee", datastreamId: "test-datastream", conversation: { - streamTimeout: 10000 - } + streamTimeout: 10000, + }, }, - buildEndpointUrl: vi.fn().mockReturnValue("https://test.adobe.io/conversation"), + buildEndpointUrl: vi + .fn() + .mockReturnValue("https://test.adobe.io/conversation"), lifecycle: { onBeforeEvent: vi.fn().mockResolvedValue(undefined), onBeforeRequest: vi.fn(), - onRequestFailure: vi.fn() + onRequestFailure: vi.fn(), }, cookieTransfer: { cookiesToPayload: vi.fn(), - responseToCookies: vi.fn() + responseToCookies: vi.fn(), }, createResponse: vi.fn(), sendConversationServiceRequest: vi.fn(), - decodeKndctrCookie: vi.fn().mockReturnValue("test-ecid-123") + decodeKndctrCookie: vi.fn().mockReturnValue("test-ecid-123"), }; }); @@ -80,12 +82,14 @@ describe("createSendConversationEvent", () => { status: 200, body: createMockReadableStream([]), }; - mockDependencies.sendConversationServiceRequest.mockResolvedValue(mockResponse); + mockDependencies.sendConversationServiceRequest.mockResolvedValue( + mockResponse, + ); const sendConversationEvent = createSendConversationEvent(mockDependencies); const options = { message: "Hello, I need help with a product", - onStreamResponse: vi.fn() + onStreamResponse: vi.fn(), }; const resultPromise = sendConversationEvent(options); @@ -96,20 +100,22 @@ describe("createSendConversationEvent", () => { conversation: { surfaces: [expect.any(String)], message: "Hello, I need help with a product", - data: undefined - } + data: undefined, + }, }); expect(mockEvent.mergeXdm).toHaveBeenCalledWith({ identityMap: { ECID: [ { - id: "test-ecid-123" - } - ] - } + id: "test-ecid-123", + }, + ], + }, }); expect(mockDependencies.lifecycle.onBeforeEvent).toHaveBeenCalled(); - expect(mockDependencies.sendConversationServiceRequest).toHaveBeenCalled(); + expect( + mockDependencies.sendConversationServiceRequest, + ).toHaveBeenCalled(); return resultPromise; }); }); @@ -120,15 +126,17 @@ describe("createSendConversationEvent", () => { status: 200, body: createMockReadableStream([]), }; - mockDependencies.sendConversationServiceRequest.mockResolvedValue(mockResponse); + mockDependencies.sendConversationServiceRequest.mockResolvedValue( + mockResponse, + ); const sendConversationEvent = createSendConversationEvent(mockDependencies); const options = { xdm: { interactionId: "test-interaction-id", - conversationId: "test-conversation-id" + conversationId: "test-conversation-id", }, - onStreamResponse: vi.fn() + onStreamResponse: vi.fn(), }; const resultPromise = sendConversationEvent(options); @@ -139,16 +147,18 @@ describe("createSendConversationEvent", () => { identityMap: { ECID: [ { - id: "test-ecid-123" - } - ] - } + id: "test-ecid-123", + }, + ], + }, }); expect(mockEvent.mergeXdm).toHaveBeenCalledWith({ interactionId: "test-interaction-id", - conversationId: "test-conversation-id" + conversationId: "test-conversation-id", }); - expect(mockDependencies.sendConversationServiceRequest).toHaveBeenCalled(); + expect( + mockDependencies.sendConversationServiceRequest, + ).toHaveBeenCalled(); return resultPromise; }); }); @@ -159,7 +169,9 @@ describe("createSendConversationEvent", () => { status: 200, body: createMockReadableStream([]), }; - mockDependencies.sendConversationServiceRequest.mockResolvedValue(mockResponse); + mockDependencies.sendConversationServiceRequest.mockResolvedValue( + mockResponse, + ); const sendConversationEvent = createSendConversationEvent(mockDependencies); const options = { @@ -167,10 +179,10 @@ describe("createSendConversationEvent", () => { type: "feedback", payload: { rating: 5, - comment: "Great service!" - } + comment: "Great service!", + }, }, - onStreamResponse: vi.fn() + onStreamResponse: vi.fn(), }; const resultPromise = sendConversationEvent(options); @@ -185,12 +197,14 @@ describe("createSendConversationEvent", () => { type: "feedback", payload: { rating: 5, - comment: "Great service!" - } - } - } + comment: "Great service!", + }, + }, + }, }); - expect(mockDependencies.sendConversationServiceRequest).toHaveBeenCalled(); + expect( + mockDependencies.sendConversationServiceRequest, + ).toHaveBeenCalled(); return resultPromise; }); }); @@ -211,13 +225,15 @@ describe("createSendConversationEvent", () => { }, }, }; - mockDependencies.sendConversationServiceRequest.mockResolvedValue(mockResponse); + mockDependencies.sendConversationServiceRequest.mockResolvedValue( + mockResponse, + ); const sendConversationEvent = createSendConversationEvent(mockDependencies); const onStreamResponse = vi.fn(); const options = { message: "Hello, I need help", - onStreamResponse + onStreamResponse, }; const resultPromise = sendConversationEvent(options); @@ -226,24 +242,24 @@ describe("createSendConversationEvent", () => { // Fast-forward time by 10 seconds to trigger the timeout vi.advanceTimersByTime(10000); - return resultPromise.then(res => { + return resultPromise.then((res) => { // Verify that timeout error was logged expect(mockDependencies.logger.error).toHaveBeenCalledWith( "Stream error occurred", expect.objectContaining({ - message: "Stream timeout: No data received within 10 seconds" - }) + message: "Stream timeout: No data received within 10 seconds", + }), ); // Verify that onStreamResponse was called with the timeout error expect(onStreamResponse).toHaveBeenCalledWith({ error: expect.objectContaining({ - message: "Stream timeout: No data received within 10 seconds" - }) + message: "Stream timeout: No data received within 10 seconds", + }), }); vi.useRealTimers(); }); // await flushPromiseChains(); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationServiceRequest.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationServiceRequest.spec.js index 2c098aeac..0bd0082f7 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationServiceRequest.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createSendConversationServiceRequest.spec.js @@ -24,32 +24,34 @@ describe("createSendConversationServiceRequest", () => { status: 200, body: { getReader: vi.fn().mockReturnValue({ - read: vi.fn().mockResolvedValue({ done: true, value: undefined }) - }) - } + read: vi.fn().mockResolvedValue({ done: true, value: undefined }), + }), + }, }; mockDependencies = { logger: { logOnBeforeNetworkRequest: vi.fn(), - logOnNetworkError: vi.fn() + logOnNetworkError: vi.fn(), }, - fetch: vi.fn().mockResolvedValue(mockResponse) + fetch: vi.fn().mockResolvedValue(mockResponse), }; mockRequest = { - getPayload: vi.fn().mockReturnValue({ message: "test message" }) + getPayload: vi.fn().mockReturnValue({ message: "test message" }), }; }); it("creates a send conversation service request function", () => { - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); expect(typeof sendConversationServiceRequest).toBe("function"); }); it("makes fetch request with correct parameters", async () => { - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; @@ -57,21 +59,22 @@ describe("createSendConversationServiceRequest", () => { requestId, url, request: mockRequest, - streamingEnabled: true + streamingEnabled: true, }); expect(mockDependencies.fetch).toHaveBeenCalledWith(url, { method: "POST", headers: { "Content-Type": "text/plain", - "Accept": "text/event-stream" + Accept: "text/event-stream", }, - body: JSON.stringify({ message: "test message" }) + body: JSON.stringify({ message: "test message" }), }); }); it("uses correct headers for non-streaming requests", async () => { - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; @@ -79,34 +82,37 @@ describe("createSendConversationServiceRequest", () => { requestId, url, request: mockRequest, - streamingEnabled: false + streamingEnabled: false, }); expect(mockDependencies.fetch).toHaveBeenCalledWith(url, { method: "POST", headers: { "Content-Type": "text/plain", - "Accept": "text/plain" + Accept: "text/plain", }, - body: JSON.stringify({ message: "test message" }) + body: JSON.stringify({ message: "test message" }), }); }); it("logs network request before sending", async () => { - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; await sendConversationServiceRequest({ requestId, url, - request: mockRequest + request: mockRequest, }); - expect(mockDependencies.logger.logOnBeforeNetworkRequest).toHaveBeenCalledWith({ + expect( + mockDependencies.logger.logOnBeforeNetworkRequest, + ).toHaveBeenCalledWith({ url, requestId, - payload: { message: "test message" } + payload: { message: "test message" }, }); }); @@ -116,7 +122,7 @@ describe("createSendConversationServiceRequest", () => { const failedResponse = { ok: false, - status: 500 + status: 500, }; mockDependencies.fetch @@ -124,14 +130,15 @@ describe("createSendConversationServiceRequest", () => { .mockResolvedValueOnce(failedResponse) .mockResolvedValueOnce(mockResponse); - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; const resultPromise = sendConversationServiceRequest({ requestId, url, - request: mockRequest + request: mockRequest, }); // Fast-forward through all the timers (2s + 3s delays) @@ -152,21 +159,22 @@ describe("createSendConversationServiceRequest", () => { const failedResponse = { ok: false, - status: 500 + status: 500, }; mockDependencies.fetch .mockResolvedValueOnce(failedResponse) .mockResolvedValueOnce(mockResponse); - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; const resultPromise = sendConversationServiceRequest({ requestId, url, - request: mockRequest + request: mockRequest, }); await vi.runAllTimersAsync(); @@ -176,7 +184,7 @@ describe("createSendConversationServiceRequest", () => { requestId, url, payload: { message: "test message" }, - error: expect.any(Error) + error: expect.any(Error), }); vi.useRealTimers(); @@ -188,20 +196,21 @@ describe("createSendConversationServiceRequest", () => { const failedResponse = { ok: false, - status: 500 + status: 500, }; mockDependencies.fetch.mockResolvedValue(failedResponse); - const sendConversationServiceRequest = createSendConversationServiceRequest(mockDependencies); + const sendConversationServiceRequest = + createSendConversationServiceRequest(mockDependencies); const requestId = "test-request-id"; const url = "https://test.adobe.io/conversation"; const resultPromise = sendConversationServiceRequest({ requestId, url, - request: mockRequest - }).catch(error => error); // Catch the error to prevent unhandled rejection + request: mockRequest, + }).catch((error) => error); // Catch the error to prevent unhandled rejection // Process timers and promises await vi.runAllTimersAsync(); @@ -215,4 +224,4 @@ describe("createSendConversationServiceRequest", () => { vi.useRealTimers(); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createStreamParser.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createStreamParser.spec.js index d22938610..1d289e5a9 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createStreamParser.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createStreamParser.spec.js @@ -124,7 +124,9 @@ describe("createStreamParser", () => { it("handles event types and IDs", async () => { const mockStream = createMockReadableStream([ - new TextEncoder().encode('event: message\ndata: {"text": "Hello"}\nid: 123\n\n'), + new TextEncoder().encode( + 'event: message\ndata: {"text": "Hello"}\nid: 123\n\n', + ), ]); await streamParser(mockStream, { onEvent, onPing, onComplete }); @@ -199,4 +201,4 @@ describe("createStreamParser", () => { expect(onEvent).toHaveBeenCalledWith({ error: expect.any(Error) }); expect(onComplete).toHaveBeenCalledTimes(1); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/createTimeoutWrapper.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/createTimeoutWrapper.spec.js index 1b7fd2e96..90c05041c 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/createTimeoutWrapper.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/createTimeoutWrapper.spec.js @@ -23,7 +23,10 @@ describe("createTimeoutWrapper", () => { it("returns object with onEvent, onPing, and onComplete handlers", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); expect(typeof wrapper.onEvent).toBe("function"); expect(typeof wrapper.onPing).toBe("function"); @@ -32,7 +35,10 @@ describe("createTimeoutWrapper", () => { it("calls callback immediately when data arrives before timeout", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); const testData = { data: "test data" }; wrapper.onEvent(testData); @@ -43,7 +49,10 @@ describe("createTimeoutWrapper", () => { it("resets timeout when data arrives", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Advance to just before timeout vi.advanceTimersByTime(9000); @@ -60,7 +69,10 @@ describe("createTimeoutWrapper", () => { it("resets timeout when ping arrives", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Advance to just before timeout vi.advanceTimersByTime(9000); @@ -80,14 +92,17 @@ describe("createTimeoutWrapper", () => { expect(mockCallback).toHaveBeenCalledTimes(1); expect(mockCallback).toHaveBeenCalledWith({ error: expect.objectContaining({ - message: "Stream timeout: No data received within 10 seconds" - }) + message: "Stream timeout: No data received within 10 seconds", + }), }); }); it("ping does not forward to callback", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); wrapper.onPing(); wrapper.onPing(); @@ -99,7 +114,10 @@ describe("createTimeoutWrapper", () => { it("calls callback with error when timeout occurs", () => { const mockCallback = vi.fn(); - createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Advance time to trigger timeout vi.advanceTimersByTime(10000); @@ -107,14 +125,17 @@ describe("createTimeoutWrapper", () => { expect(mockCallback).toHaveBeenCalledTimes(1); expect(mockCallback).toHaveBeenCalledWith({ error: expect.objectContaining({ - message: "Stream timeout: No data received within 10 seconds" - }) + message: "Stream timeout: No data received within 10 seconds", + }), }); }); it("ignores subsequent onEvent calls after timeout fires", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Trigger timeout vi.advanceTimersByTime(10000); @@ -130,7 +151,10 @@ describe("createTimeoutWrapper", () => { it("ignores subsequent onPing calls after timeout fires", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Trigger timeout vi.advanceTimersByTime(10000); @@ -146,7 +170,10 @@ describe("createTimeoutWrapper", () => { it("allows multiple data calls with timeout reset between each", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); wrapper.onEvent({ data: "chunk 1" }); vi.advanceTimersByTime(5000); @@ -166,7 +193,10 @@ describe("createTimeoutWrapper", () => { it("handles error events from stream", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); const streamError = { error: new Error("Stream error") }; wrapper.onEvent(streamError); @@ -176,7 +206,10 @@ describe("createTimeoutWrapper", () => { it("does not timeout if data arrives just before timeout", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Advance to just before timeout vi.advanceTimersByTime(9999); @@ -193,7 +226,10 @@ describe("createTimeoutWrapper", () => { it("does not timeout if ping arrives just before timeout", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Advance to just before timeout vi.advanceTimersByTime(9999); @@ -209,22 +245,25 @@ describe("createTimeoutWrapper", () => { it("maintains rolling timeout with mixed ping and data events", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // T=0: Start - vi.advanceTimersByTime(3000); // T=3s + vi.advanceTimersByTime(3000); // T=3s // Ping at T=3s wrapper.onPing(); - vi.advanceTimersByTime(4000); // T=7s + vi.advanceTimersByTime(4000); // T=7s // Data at T=7s wrapper.onEvent({ data: "chunk 1" }); - vi.advanceTimersByTime(5000); // T=12s + vi.advanceTimersByTime(5000); // T=12s // Ping at T=12s wrapper.onPing(); - vi.advanceTimersByTime(8000); // T=20s + vi.advanceTimersByTime(8000); // T=20s // Data at T=20s wrapper.onEvent({ data: "chunk 2" }); @@ -237,7 +276,10 @@ describe("createTimeoutWrapper", () => { it("clears timeout when onComplete is called", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Receive some data wrapper.onEvent({ data: "chunk 1" }); @@ -255,7 +297,10 @@ describe("createTimeoutWrapper", () => { it("clears timeout when onComplete is called even with no data", () => { const mockCallback = vi.fn(); - const wrapper = createTimeoutWrapper({ onStreamResponseCallback: mockCallback, streamTimeout: 10000 }); + const wrapper = createTimeoutWrapper({ + onStreamResponseCallback: mockCallback, + streamTimeout: 10000, + }); // Stream completes immediately with no data wrapper.onComplete(); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/index.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/index.spec.js index 377915e5d..1d1f35f28 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/index.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/index.spec.js @@ -24,21 +24,21 @@ describe("BrandConcierge", () => { loggingCookieJar: { remove: vi.fn(), get: vi.fn(), - set: vi.fn() + set: vi.fn(), }, logger: { info: vi.fn(), warn: vi.fn(), error: vi.fn(), logOnBeforeNetworkRequest: vi.fn(), - logOnNetworkError: vi.fn() + logOnNetworkError: vi.fn(), }, eventManager: { - createEvent: vi.fn() + createEvent: vi.fn(), }, consent: { suspend: vi.fn(), - resume: vi.fn() + resume: vi.fn(), }, instanceName: "test-instance", sendEdgeNetworkRequest: vi.fn(), @@ -46,19 +46,19 @@ describe("BrandConcierge", () => { orgId: "testorgid@AdobeOrg", edgeConfigId: "test-edge-config-id", conversation: { - stickyConversationSession: false - } + stickyConversationSession: false, + }, }, lifecycle: { onBeforeEvent: vi.fn(), onBeforeRequest: vi.fn(), - onRequestFailure: vi.fn() + onRequestFailure: vi.fn(), }, cookieTransfer: { - cookiesToPayload: vi.fn() + cookiesToPayload: vi.fn(), }, createResponse: vi.fn(), - apexDomain: "adobe.com" + apexDomain: "adobe.com", }; }); @@ -78,18 +78,18 @@ describe("BrandConcierge", () => { const configWithSticky = { ...mockDependencies.config, conversation: { - stickyConversationSession: false - } + stickyConversationSession: false, + }, }; createConciergeComponent({ ...mockDependencies, - config: configWithSticky + config: configWithSticky, }); expect(mockDependencies.loggingCookieJar.remove).toHaveBeenCalledWith( "kndctr_testorgid_AdobeOrg_bc_session_id", - { domain: "adobe.com" } + { domain: "adobe.com" }, ); }); @@ -97,13 +97,13 @@ describe("BrandConcierge", () => { const configWithSticky = { ...mockDependencies.config, conversation: { - stickyConversationSession: true - } + stickyConversationSession: true, + }, }; createConciergeComponent({ ...mockDependencies, - config: configWithSticky + config: configWithSticky, }); expect(mockDependencies.loggingCookieJar.remove).not.toHaveBeenCalled(); @@ -112,15 +112,21 @@ describe("BrandConcierge", () => { it("sendConversationEvent command has options validator", () => { const component = createConciergeComponent(mockDependencies); - expect(component.commands.sendConversationEvent.optionsValidator).toBeDefined(); - expect(typeof component.commands.sendConversationEvent.optionsValidator).toBe("function"); + expect( + component.commands.sendConversationEvent.optionsValidator, + ).toBeDefined(); + expect( + typeof component.commands.sendConversationEvent.optionsValidator, + ).toBe("function"); }); it("sendConversationEvent command has run function", () => { const component = createConciergeComponent(mockDependencies); expect(component.commands.sendConversationEvent.run).toBeDefined(); - expect(typeof component.commands.sendConversationEvent.run).toBe("function"); + expect(typeof component.commands.sendConversationEvent.run).toBe( + "function", + ); }); }); @@ -128,25 +134,27 @@ describe("BrandConcierge config validators", () => { testConfigValidators({ configValidators: createConciergeComponent.configValidators, validConfigurations: [ - {conversation: { stickyConversationSession: true }}, - {conversation: { stickyConversationSession: false }}, - {conversation: { streamTimeout: 10000 }}, - {conversation: { streamTimeout: 20000 }}, - {conversation: { stickyConversationSession: true, streamTimeout: 10000 }}, - {} + { conversation: { stickyConversationSession: true } }, + { conversation: { stickyConversationSession: false } }, + { conversation: { streamTimeout: 10000 } }, + { conversation: { streamTimeout: 20000 } }, + { + conversation: { stickyConversationSession: true, streamTimeout: 10000 }, + }, + {}, ], invalidConfigurations: [ - {conversation: { stickyConversationSession: "invalid" }}, - {conversation: { stickyConversationSession: 123 }}, - {conversation: { streamTimeout: "invalid" }}, - {conversation: { streamTimeout: -1 }}, - {conversation: { streamTimeout: 1.5 }} + { conversation: { stickyConversationSession: "invalid" } }, + { conversation: { stickyConversationSession: 123 } }, + { conversation: { streamTimeout: "invalid" } }, + { conversation: { streamTimeout: -1 } }, + { conversation: { streamTimeout: 1.5 } }, ], - defaultValues: {} + defaultValues: {}, }); it("provides default values for concierge configuration", () => { const config = createConciergeComponent.configValidators({}); expect(config.conversation.stickyConversationSession).toBe(false); expect(config.conversation.streamTimeout).toBe(10000); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/utils.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/utils.spec.js index 5b4e1cbab..636c59388 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/utils.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/utils.spec.js @@ -10,7 +10,10 @@ OF ANY KIND, either express or implied. See the License for the specific languag governing permissions and limitations under the License. */ import { vi, beforeEach, afterEach, describe, it, expect } from "vitest"; -import { getPageSurface, getConciergeSessionCookie } from "../../../../../src/components/BrandConcierge/utils.js"; +import { + getPageSurface, + getConciergeSessionCookie, +} from "../../../../../src/components/BrandConcierge/utils.js"; describe("BrandConcierge utils", () => { describe("getConciergeSessionCookie", () => { @@ -19,10 +22,10 @@ describe("BrandConcierge utils", () => { beforeEach(() => { mockLoggingCookieJar = { - get: vi.fn() + get: vi.fn(), }; mockConfig = { - orgId: "test-org-id" + orgId: "test-org-id", }; }); @@ -32,11 +35,11 @@ describe("BrandConcierge utils", () => { const result = getConciergeSessionCookie({ loggingCookieJar: mockLoggingCookieJar, - config: mockConfig + config: mockConfig, }); expect(mockLoggingCookieJar.get).toHaveBeenCalledWith( - "kndctr_test-org-id_bc_session_id" + "kndctr_test-org-id_bc_session_id", ); expect(result).toBe(expectedCookieValue); }); @@ -46,12 +49,12 @@ describe("BrandConcierge utils", () => { getConciergeSessionCookie({ loggingCookieJar: mockLoggingCookieJar, - config: mockConfig + config: mockConfig, }); expect(mockLoggingCookieJar.get).toHaveBeenCalledWith( - "kndctr_different-org_bc_session_id" + "kndctr_different-org_bc_session_id", ); }); }); -}); \ No newline at end of file +}); diff --git a/packages/core/test/unit/specs/components/BrandConcierge/validateMessage.spec.js b/packages/core/test/unit/specs/components/BrandConcierge/validateMessage.spec.js index 7c4263401..e76f39925 100644 --- a/packages/core/test/unit/specs/components/BrandConcierge/validateMessage.spec.js +++ b/packages/core/test/unit/specs/components/BrandConcierge/validateMessage.spec.js @@ -257,7 +257,6 @@ describe("BrandConcierge::validateMessage", () => { validateMessage({ options }); }).toThrowError(); }); - }); describe("AnyOf Permissive Behavior", () => { diff --git a/packages/core/test/unit/specs/components/Consent/createComponent.spec.js b/packages/core/test/unit/specs/components/Consent/createComponent.spec.js index 0bb66929d..cba7c13c2 100644 --- a/packages/core/test/unit/specs/components/Consent/createComponent.spec.js +++ b/packages/core/test/unit/specs/components/Consent/createComponent.spec.js @@ -12,10 +12,7 @@ governing permissions and limitations under the License. import { vi, beforeEach, describe, it, expect } from "vitest"; import createComponent from "../../../../../src/components/Consent/createComponent.js"; -import { - createTaskQueue, - defer, -} from "../../../../../src/utils/index.js"; +import { createTaskQueue, defer } from "../../../../../src/utils/index.js"; import flushPromiseChains from "../../../helpers/flushPromiseChains.js"; const createConsent = (generalConsent) => ({ diff --git a/packages/core/test/unit/specs/core/buildAndValidateConfig.spec.js b/packages/core/test/unit/specs/core/buildAndValidateConfig.spec.js index e019f5c06..182b23e98 100644 --- a/packages/core/test/unit/specs/core/buildAndValidateConfig.spec.js +++ b/packages/core/test/unit/specs/core/buildAndValidateConfig.spec.js @@ -13,10 +13,7 @@ governing permissions and limitations under the License. import { vi, beforeEach, describe, it, expect } from "vitest"; import buildAndValidateConfig from "../../../../src/core/buildAndValidateConfig.js"; import createConfig from "../../../../src/core/config/createConfig.js"; -import { - boolean, - objectOf, -} from "../../../../src/utils/validation/index.js"; +import { boolean, objectOf } from "../../../../src/utils/validation/index.js"; describe("buildAndValidateConfig", () => { let options; diff --git a/packages/core/test/unit/specs/utils/event.spec.js b/packages/core/test/unit/specs/utils/event.spec.js index c41e65e33..05980b441 100644 --- a/packages/core/test/unit/specs/utils/event.spec.js +++ b/packages/core/test/unit/specs/utils/event.spec.js @@ -11,10 +11,7 @@ governing permissions and limitations under the License. */ import { vi, beforeEach, describe, it, expect } from "vitest"; -import { - mergeDecisionsMeta, - mergeQuery, -} from "../../../../src/utils/event.js"; +import { mergeDecisionsMeta, mergeQuery } from "../../../../src/utils/event.js"; import { PropositionEventType } from "../../../../src/constants/propositionEventType.js"; describe("Utils::event", () => { diff --git a/packages/core/test/unit/specs/utils/prepareConfigOverridesForEdge.spec.js b/packages/core/test/unit/specs/utils/prepareConfigOverridesForEdge.spec.js index ca19cde41..db3565eea 100644 --- a/packages/core/test/unit/specs/utils/prepareConfigOverridesForEdge.spec.js +++ b/packages/core/test/unit/specs/utils/prepareConfigOverridesForEdge.spec.js @@ -91,7 +91,7 @@ describe("utils:prepareConfigOverridesForEdge", () => { }, other_key: { other_value: true, - } + }, }), ).toEqual({ com_adobe_analytics: { diff --git a/packages/core/test/unit/specs/utils/validation/createArrayOfValidator.spec.js b/packages/core/test/unit/specs/utils/validation/createArrayOfValidator.spec.js index 25e71191b..64ea3bbd4 100644 --- a/packages/core/test/unit/specs/utils/validation/createArrayOfValidator.spec.js +++ b/packages/core/test/unit/specs/utils/validation/createArrayOfValidator.spec.js @@ -11,10 +11,7 @@ governing permissions and limitations under the License. */ import { describe } from "vitest"; -import { - arrayOf, - string, -} from "../../../../../src/utils/validation/index.js"; +import { arrayOf, string } from "../../../../../src/utils/validation/index.js"; import describeValidation from "../../../helpers/describeValidation.js"; describe("validation::arrayOf", () => { diff --git a/packages/core/test/unit/specs/utils/validation/createNoUnknownFieldsValidator.spec.js b/packages/core/test/unit/specs/utils/validation/createNoUnknownFieldsValidator.spec.js index 0bcd84fdb..639a10fb2 100644 --- a/packages/core/test/unit/specs/utils/validation/createNoUnknownFieldsValidator.spec.js +++ b/packages/core/test/unit/specs/utils/validation/createNoUnknownFieldsValidator.spec.js @@ -11,10 +11,7 @@ governing permissions and limitations under the License. */ import { describe } from "vitest"; -import { - objectOf, - string, -} from "../../../../../src/utils/validation/index.js"; +import { objectOf, string } from "../../../../../src/utils/validation/index.js"; import describeValidation from "../../../helpers/describeValidation.js"; describe("validation::noUnknownFields", () => { diff --git a/packages/core/test/unit/specs/utils/validation/createObjectOfValidator.spec.js b/packages/core/test/unit/specs/utils/validation/createObjectOfValidator.spec.js index 9703d4af3..7afb12459 100644 --- a/packages/core/test/unit/specs/utils/validation/createObjectOfValidator.spec.js +++ b/packages/core/test/unit/specs/utils/validation/createObjectOfValidator.spec.js @@ -11,10 +11,7 @@ governing permissions and limitations under the License. */ import { describe } from "vitest"; -import { - objectOf, - string, -} from "../../../../../src/utils/validation/index.js"; +import { objectOf, string } from "../../../../../src/utils/validation/index.js"; import describeValidation from "../../../helpers/describeValidation.js"; describe("validation::objectOf", () => { diff --git a/packages/core/test/unit/specs/utils/validation/createRenamedValidator.spec.js b/packages/core/test/unit/specs/utils/validation/createRenamedValidator.spec.js index 3f9bcb577..f506217a9 100644 --- a/packages/core/test/unit/specs/utils/validation/createRenamedValidator.spec.js +++ b/packages/core/test/unit/specs/utils/validation/createRenamedValidator.spec.js @@ -11,10 +11,7 @@ governing permissions and limitations under the License. */ import { describe } from "vitest"; -import { - objectOf, - string, -} from "../../../../../src/utils/validation/index.js"; +import { objectOf, string } from "../../../../../src/utils/validation/index.js"; import describeValidation from "../../../helpers/describeValidation.js"; describe("validation::renamed", () => { diff --git a/packages/reactor-extension/.browserslistrc b/packages/reactor-extension/.browserslistrc new file mode 100644 index 000000000..9cf251a33 --- /dev/null +++ b/packages/reactor-extension/.browserslistrc @@ -0,0 +1,5 @@ +last 2 Chrome versions +last 2 Firefox versions +last 2 Safari versions +last 2 Edge versions + diff --git a/packages/reactor-extension/.github/CONTRIBUTING.md b/packages/reactor-extension/.github/CONTRIBUTING.md new file mode 100644 index 000000000..c4940cf31 --- /dev/null +++ b/packages/reactor-extension/.github/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# Contributing + +Thanks for choosing to contribute! + +The following are a set of guidelines to follow when contributing to this project. + +## Code Of Conduct + +This project adheres to the Adobe [code of conduct](../CODE_OF_CONDUCT.md). By participating, +you are expected to uphold this code. Please report unacceptable behavior to +[Grp-opensourceoffice@adobe.com](mailto:Grp-opensourceoffice@adobe.com). + +## Have A Question? + +Start by filing an issue. The existing committers on this project work to reach +consensus around project direction and issue solutions within issue threads +(when appropriate). + +## Contributor License Agreement + +All third-party contributions to this project must be accompanied by a signed contributor +license agreement. This gives Adobe permission to redistribute your contributions +as part of the project. [Sign our CLA](http://opensource.adobe.com/cla.html). You +only need to submit an Adobe CLA one time, so if you have submitted one previously, +you are good to go! + +## Code Reviews + +All submissions should come in the form of pull requests and need to be reviewed +by project committers. Read [GitHub's pull request documentation](https://help.github.com/articles/about-pull-requests/) +for more information on sending pull requests. + +Lastly, please follow the [pull request template](PULL_REQUEST_TEMPLATE.md) when +submitting a pull request! + +## From Contributor To Committer + +We love contributions from our community! If you'd like to go a step beyond contributor +and become a committer with full write access and a say in the project, you must +be invited to the project. The existing committers employ an internal nomination +process that must reach lazy consensus (silence is approval) before invitations +are issued. If you feel you are qualified and want to get more deeply involved, +feel free to reach out to existing committers to have a conversation about that. + +## Security Issues + +Security issues shouldn't be reported on this issue tracker. Instead, [file an issue to our security experts](https://helpx.adobe.com/security/alertus.html) diff --git a/packages/reactor-extension/.github/ISSUE_TEMPLATE.md b/packages/reactor-extension/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..524718e33 --- /dev/null +++ b/packages/reactor-extension/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,16 @@ + + + +### Expected Behaviour + +### Actual Behaviour + +### Reproduce Scenario (including but not limited to) + +#### Steps to Reproduce + +#### Platform and Version + +#### Sample Code that illustrates the problem + +#### Logs taken while reproducing problem diff --git a/packages/reactor-extension/.github/PULL_REQUEST_TEMPLATE.md b/packages/reactor-extension/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..aa6d7d1dd --- /dev/null +++ b/packages/reactor-extension/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,41 @@ + + + + + +## Description + + + +## Related Issue + + + + + + +## Motivation and Context + + + +## Screenshots (if appropriate): + +## Types of changes + + + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Improvement (non-breaking change which does not add functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) + +## Checklist: + + + + +- [ ] I have signed the [Adobe Open Source CLA](https://opensource.adobe.com/cla.html) or I'm an Adobe employee. +- [ ] I have made any necessary test changes and all tests pass. +- [ ] I have run the Sandbox successfully. +- [ ] I've updated the schema in extension.json or no changes are necessary. +- [ ] My change requires a change to the documentation. diff --git a/packages/reactor-extension/.github/release.yml b/packages/reactor-extension/.github/release.yml new file mode 100644 index 000000000..b94c32412 --- /dev/null +++ b/packages/reactor-extension/.github/release.yml @@ -0,0 +1,24 @@ +# This config is used to control automatically generated release notes +# see https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes +changelog: + exclude: + labels: + - ignore-for-release + authors: + - dependabot[bot] + categories: + - title: Breaking changes + labels: + - breaking-change + - title: New features + labels: + - "*" + exclude: + labels: + - bug-fix + - improvement + - title: Fixes and improvements + labels: + - bug-fix + - improvement + diff --git a/packages/reactor-extension/.github/workflows/codeql-analysis.yml b/packages/reactor-extension/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..14f2d6354 --- /dev/null +++ b/packages/reactor-extension/.github/workflows/codeql-analysis.yml @@ -0,0 +1,50 @@ +name: "CodeQL" + +on: + push: + branches: [main] + pull_request: + # The branches below must be a subset of the branches above + branches: [main] + schedule: + - cron: "26 7 * * 3" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["javascript"] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/packages/reactor-extension/.github/workflows/deployRelease.yml b/packages/reactor-extension/.github/workflows/deployRelease.yml new file mode 100644 index 000000000..197c97924 --- /dev/null +++ b/packages/reactor-extension/.github/workflows/deployRelease.yml @@ -0,0 +1,82 @@ +name: Deploy Release +on: + workflow_dispatch: + inputs: + version: + description: "Version" + required: true + +# This workflow is split into release and prerelease jobs so that the +# release job can require a manual approval. Otherwise, the release and +# prerelease jobs should be identical. +jobs: + validate: + name: "Validate" + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/validate-version@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: ${{ github.event.inputs.version }} + release: + name: "Release" + runs-on: ubuntu-latest + needs: validate + # this environment requires manual approval + environment: Production + # final release versions do not contain '-' + if: ${{ contains(github.event.inputs.version, '-') == false }} + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 10 + - name: Set up Node.js version + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + - uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.ALLOY_BOT_GITHUB_SSH_PRIVATE_KEY }} + - run: ./scripts/deploy.sh ${{ github.event.inputs.version }} + env: + REACTOR_IO_INTEGRATION_CLIENT_SECRET: ${{ secrets.REACTOR_IO_INTEGRATION_CLIENT_SECRET }} + - uses: actions/upload-artifact@v4 + with: + name: package + path: ./package-adobe-alloy-${{ github.event.inputs.version }}.zip + prerelease: + name: "Prerelease" + runs-on: ubuntu-latest + needs: validate + # prerelease versions contain '-' + if: ${{ contains(github.event.inputs.version, '-') }} + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 10 + - name: Set up Node.js version + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + - uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.ALLOY_BOT_GITHUB_SSH_PRIVATE_KEY }} + - run: ./scripts/deploy.sh ${{ github.event.inputs.version }} + env: + REACTOR_IO_INTEGRATION_CLIENT_SECRET: ${{ secrets.REACTOR_IO_INTEGRATION_CLIENT_SECRET }} + - uses: actions/upload-artifact@v4 + with: + name: package + path: ./package-adobe-alloy-${{ github.event.inputs.version }}.zip + record: + name: "Record Version" + runs-on: ubuntu-latest + needs: [prerelease, release] + if: failure() == false + steps: + - uses: adobe/project-card-release-automation/record-release@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: ${{ github.event.inputs.version }} diff --git a/packages/reactor-extension/.github/workflows/generate-coverage-report.yml b/packages/reactor-extension/.github/workflows/generate-coverage-report.yml new file mode 100644 index 000000000..210dbd2c2 --- /dev/null +++ b/packages/reactor-extension/.github/workflows/generate-coverage-report.yml @@ -0,0 +1,68 @@ +name: Generate Coverage Report and SonarQube Analysis + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] + workflow_dispatch: + +jobs: + coverage: + name: Generate Coverage Report + runs-on: ubuntu-latest + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: pnpm/action-setup@v4 + with: + version: 10 + + - name: Set up Node.js version + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build Alloy + run: pnpm run build + + - name: Run Unit Test with coverage + run: pnpm run test:coverage + + - name: Upload coverage artifact + uses: actions/upload-artifact@v4 + with: + name: sonar-coverage-report + path: coverage/lcov.info + retention-days: 30 + + sonarqube: + name: SonarQube Analysis + runs-on: atscloud + needs: coverage + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Download coverage artifact + uses: actions/download-artifact@v4 + with: + name: sonar-coverage-report + path: coverage + + - name: SonarQube Scan + uses: sonarsource/sonarqube-scan-action@v6 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST_URL: ${{ vars.SONAR_HOST_URL }} diff --git a/packages/reactor-extension/.github/workflows/initializeRelease.yml b/packages/reactor-extension/.github/workflows/initializeRelease.yml new file mode 100644 index 000000000..2066b2428 --- /dev/null +++ b/packages/reactor-extension/.github/workflows/initializeRelease.yml @@ -0,0 +1,18 @@ +name: Initialize Intended Release +on: + workflow_dispatch: + inputs: + type: + description: "Release Type [major|minor|patch]" + required: true + +jobs: + initializeIntendedRelease: + name: "Initialize Intended Release" + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/initialize-card@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + releaseType: ${{ github.event.inputs.type }} + projectNumber: 1 diff --git a/packages/reactor-extension/.github/workflows/quality-checks.yml b/packages/reactor-extension/.github/workflows/quality-checks.yml new file mode 100644 index 000000000..aa3035b59 --- /dev/null +++ b/packages/reactor-extension/.github/workflows/quality-checks.yml @@ -0,0 +1,51 @@ +name: Quality Checks +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + quality-gate: + name: "Quality checks" + runs-on: ubuntu-latest + strategy: + fail-fast: true + matrix: + check: + - build + - lint + - "format:check" + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 10 + - name: Set up Node.js version + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + - run: pnpm install --frozen-lockfile + - run: pnpm run ${{ matrix.check }} + tests: + name: "Tests" + needs: quality-gate + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + test: + - unit + - integration + # - functional # Enable when functional tests are stable in CI + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 10 + - name: Set up Node.js version + uses: actions/setup-node@v5 + with: + node-version-file: .nvmrc + - run: pnpm install --frozen-lockfile + - run: pnpm run test:${{ matrix.test }} diff --git a/packages/reactor-extension/.github/workflows/triggerRelease.yml b/packages/reactor-extension/.github/workflows/triggerRelease.yml new file mode 100644 index 000000000..36b71769c --- /dev/null +++ b/packages/reactor-extension/.github/workflows/triggerRelease.yml @@ -0,0 +1,19 @@ +name: Trigger Release +on: + project_card: + types: [moved] + push: + branches: + - main + - "v[0-9]+" + - "v[0-9]+.[0-9]+" +jobs: + triggerReleaseIfNeeded: + name: "Trigger Release If Needed" + runs-on: ubuntu-latest + steps: + - uses: adobe/project-card-release-automation/trigger-release@v2 + with: + token: ${{ secrets.ALLOY_BOT_GITHUB_TOKEN }} + workflowId: "deployRelease.yml" + projectNumber: 1 diff --git a/packages/reactor-extension/.gitignore b/packages/reactor-extension/.gitignore new file mode 100644 index 000000000..1ca6942e4 --- /dev/null +++ b/packages/reactor-extension/.gitignore @@ -0,0 +1,12 @@ +node_modules +dist +componentFixtureDist +.cache +coverage +.sandbox +.eslintcache +.parcel-cache +.token-cache.json +extension.json +package-adobe-alloy-*.zip +benchmark* diff --git a/packages/reactor-extension/.nvmrc b/packages/reactor-extension/.nvmrc new file mode 100644 index 000000000..b009dfb9d --- /dev/null +++ b/packages/reactor-extension/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/packages/reactor-extension/.parcelrc b/packages/reactor-extension/.parcelrc new file mode 100644 index 000000000..a62cbc055 --- /dev/null +++ b/packages/reactor-extension/.parcelrc @@ -0,0 +1,6 @@ +{ + "extends": "@parcel/config-default", + "transformers": { + "*.js": ["...", "parcel-transformer-extension-name"] + } +} diff --git a/packages/reactor-extension/.prettierignore b/packages/reactor-extension/.prettierignore new file mode 100644 index 000000000..811a687d6 --- /dev/null +++ b/packages/reactor-extension/.prettierignore @@ -0,0 +1,2 @@ +src/lib/getInstance.js +src/lib/runAlloy.js diff --git a/packages/reactor-extension/.prettierrc.json b/packages/reactor-extension/.prettierrc.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/packages/reactor-extension/.prettierrc.json @@ -0,0 +1 @@ +{} diff --git a/packages/reactor-extension/.sauce/config.chrome.yml b/packages/reactor-extension/.sauce/config.chrome.yml new file mode 100644 index 000000000..5f0e59b31 --- /dev/null +++ b/packages/reactor-extension/.sauce/config.chrome.yml @@ -0,0 +1,82 @@ +apiVersion: v1alpha +kind: testcafe +sauce: + region: us-west-1 + sauceignore: .sauceignore + concurrency: 5 + retries: 3 +nodeVersion: lts +defaults: + timeout: 30m +metadata: + name: Alloy Reactor Extension - Chrome +rootDir: ./ +env: + NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION + SAUCE_USERNAME: $SAUCE_USERNAME + SAUCE_ACCESS_KEY: $SAUCE_ACCESS_KEY + SAUCE_CLIENT_TIMEOUT: 300s + EDGE_E2E_PRIVATE_KEY_CONTENTS: $EDGE_E2E_PRIVATE_KEY_CONTENTS + EDGE_E2E_CLIENT_SECRET: $EDGE_E2E_CLIENT_SECRET + REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS: $REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS + REACTOR_IO_INTEGRATION_CLIENT_SECRET: $REACTOR_IO_INTEGRATION_CLIENT_SECRET +testcafe: + version: 3.6.2 +speed: 1 +selectorTimeout: 2000 +disablePageCaching: false +timeZone: New_York +pageRequestTimeout: 1000 +retryTestPages: true +quarantineMode: false +npm: + dependencies: + - react + - react-dom + - uuid + - "@adobe/reactor-sandbox" + - "@adobe/auth-token" + - "@adobe/reactor-turbine" + +suites: + - name: "Component Tests" + esm: true + browserName: "chrome" + browserVersion: "129" + src: + - "test/functional/specs/component/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "Runtime Tests" + esm: true + browserName: "chrome" + browserVersion: "129" + src: + - "test/functional/specs/runtime/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Action Tests" + esm: true + browserName: "chrome" + browserVersion: "129" + src: + - "test/functional/specs/view/actions/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Configuration Tests" + esm: true + browserName: "chrome" + browserVersion: "129" + src: + - "test/functional/specs/view/configuration/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Data Elements Tests" + esm: true + browserName: "chrome" + browserVersion: "129" + src: + - "test/functional/specs/view/dataElements/**/*.spec.mjs" + platformName: "Windows 11" + screenResolution: "1024x768" + diff --git a/packages/reactor-extension/.sauce/config.firefox.yml b/packages/reactor-extension/.sauce/config.firefox.yml new file mode 100644 index 000000000..14b2aad2e --- /dev/null +++ b/packages/reactor-extension/.sauce/config.firefox.yml @@ -0,0 +1,80 @@ +apiVersion: v1alpha +kind: testcafe +sauce: + region: us-west-1 + sauceignore: .sauceignore + concurrency: 5 + retries: 3 +nodeVersion: lts +defaults: + timeout: 30m +metadata: + name: Alloy Reactor Extension - Firefox +rootDir: ./ +env: + NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION + SAUCE_USERNAME: $SAUCE_USERNAME + SAUCE_ACCESS_KEY: $SAUCE_ACCESS_KEY + SAUCE_CLIENT_TIMEOUT: 300s + EDGE_E2E_PRIVATE_KEY_CONTENTS: $EDGE_E2E_PRIVATE_KEY_CONTENTS + EDGE_E2E_CLIENT_SECRET: $EDGE_E2E_CLIENT_SECRET + REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS: $REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS + REACTOR_IO_INTEGRATION_CLIENT_SECRET: $REACTOR_IO_INTEGRATION_CLIENT_SECRET +testcafe: + version: 3.6.2 +speed: 1 +selectorTimeout: 2000 +disablePageCaching: false +timeZone: New_York +pageRequestTimeout: 5000 +retryTestPages: true +quarantineMode: false +npm: + dependencies: + - react + - react-dom + - uuid + - "@adobe/reactor-sandbox" + - "@adobe/auth-token" + - "@adobe/reactor-turbine" + +suites: + - name: "Component Tests" + esm: true + browserName: "firefox" + browserVersion: "latest" + src: + - "test/functional/specs/component/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "Runtime Tests" + esm: true + browserName: "firefox" + browserVersion: "latest" + src: + - "test/functional/specs/runtime/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Action Tests" + esm: true + browserName: "firefox" + browserVersion: "latest" + src: + - "test/functional/specs/view/actions/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Configuration Tests" + esm: true + browserName: "firefox" + browserVersion: "latest" + src: + - "test/functional/specs/view/configuration/**/*.spec.mjs" + platformName: "Windows 11" + + - name: "View Data Elements Tests" + esm: true + browserName: "firefox" + browserVersion: "latest" + src: + - "test/functional/specs/view/dataElements/**/*.spec.mjs" + platformName: "Windows 11" diff --git a/packages/reactor-extension/.sauce/config.safari.yml b/packages/reactor-extension/.sauce/config.safari.yml new file mode 100644 index 000000000..5a84debe1 --- /dev/null +++ b/packages/reactor-extension/.sauce/config.safari.yml @@ -0,0 +1,80 @@ +apiVersion: v1alpha +kind: testcafe +sauce: + region: us-west-1 + sauceignore: .sauceignore + concurrency: 5 + retries: 3 +nodeVersion: lts +defaults: + timeout: 30m +metadata: + name: Alloy Reactor Extension - Safari +rootDir: ./ +env: + NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION + SAUCE_USERNAME: $SAUCE_USERNAME + SAUCE_ACCESS_KEY: $SAUCE_ACCESS_KEY + SAUCE_CLIENT_TIMEOUT: 300s + EDGE_E2E_PRIVATE_KEY_CONTENTS: $EDGE_E2E_PRIVATE_KEY_CONTENTS + EDGE_E2E_CLIENT_SECRET: $EDGE_E2E_CLIENT_SECRET + REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS: $REACTOR_IO_INTEGRATION_PRIVATE_KEY_CONTENTS + REACTOR_IO_INTEGRATION_CLIENT_SECRET: $REACTOR_IO_INTEGRATION_CLIENT_SECRET +testcafe: + version: 3.6.2 +speed: 1 +selectorTimeout: 2000 +disablePageCaching: false +timeZone: New_York +pageRequestTimeout: 5000 +retryTestPages: true +quarantineMode: false +npm: + dependencies: + - react + - react-dom + - uuid + - "@adobe/reactor-sandbox" + - "@adobe/auth-token" + - "@adobe/reactor-turbine" + +suites: + - name: "Component Tests" + esm: true + browserName: "safari" + browserVersion: "latest" + src: + - "test/functional/specs/component/**/*.spec.mjs" + platformName: "macOS 13" + + - name: "Runtime Tests" + esm: true + browserName: "safari" + browserVersion: "latest" + src: + - "test/functional/specs/runtime/**/*.spec.mjs" + platformName: "macOS 13" + + - name: "View Action Tests" + esm: true + browserName: "safari" + browserVersion: "latest" + src: + - "test/functional/specs/view/actions/**/*.spec.mjs" + platformName: "macOS 13" + + - name: "View Configuration Tests" + esm: true + browserName: "safari" + browserVersion: "latest" + src: + - "test/functional/specs/view/configuration/**/*.spec.mjs" + platformName: "macOS 13" + + - name: "View Data Elements Tests" + esm: true + browserName: "safari" + browserVersion: "latest" + src: + - "test/functional/specs/view/dataElements/**/*.spec.mjs" + platformName: "macOS 13" diff --git a/packages/reactor-extension/.sauceignore b/packages/reactor-extension/.sauceignore new file mode 100644 index 000000000..274782bbb --- /dev/null +++ b/packages/reactor-extension/.sauceignore @@ -0,0 +1,11 @@ +# This file instructs saucectl to not package any files mentioned here. +.git/ +.github/ +.DS_Store +.hg/ +.vscode/ +.idea/ +.gitignore +.hgignore +.npmrc +*.gif \ No newline at end of file diff --git a/packages/reactor-extension/.testcaferc.js b/packages/reactor-extension/.testcaferc.js new file mode 100644 index 000000000..4aff34875 --- /dev/null +++ b/packages/reactor-extension/.testcaferc.js @@ -0,0 +1,20 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +module.exports = { + skipJsErrors: true, + quarantineMode: false, + selectorTimeout: 2000, + assertionTimeout: 5000, + pageLoadTimeout: 5000, + speed: 1.0, + stopOnFirstFail: false, +}; diff --git a/packages/reactor-extension/CODE_OF_CONDUCT.md b/packages/reactor-extension/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..7ba0d6a44 --- /dev/null +++ b/packages/reactor-extension/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Adobe Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at Grp-opensourceoffice@adobe.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [https://contributor-covenant.org/version/1/4][version] + +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ diff --git a/packages/reactor-extension/COPYRIGHT b/packages/reactor-extension/COPYRIGHT new file mode 100644 index 000000000..24c564b9c --- /dev/null +++ b/packages/reactor-extension/COPYRIGHT @@ -0,0 +1,5 @@ +© Copyright 2015-2019 Adobe. All rights reserved. + +Adobe holds the copyright for all the files found in this repository. + +See the LICENSE file for licensing information. diff --git a/packages/reactor-extension/LICENSE b/packages/reactor-extension/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/packages/reactor-extension/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/reactor-extension/README.md b/packages/reactor-extension/README.md new file mode 100644 index 000000000..7e29c8919 --- /dev/null +++ b/packages/reactor-extension/README.md @@ -0,0 +1,10 @@ +# Adobe Experience Platform Web SDK Tags extension + +This repository is for the Adobe Experience Platform Web SDK [Tags](https://www.adobe.com/experience-platform/launch.html) extension. + +Adobe Experience Platform Web SDK is a client-side JavaScript library that allows customers of Adobe Experience Cloud and Adobe Experience Platform to interact with various services through the Platform Edge Network. The library itself is also available [here](https://github.com/adobe/alloy) for use with other client-side tag management systems, or directly in websites. + +For documentation on how to use the extension, please see the [user documentation](https://experienceleague.adobe.com/docs/experience-platform/edge/extension/web-sdk-extension-configuration.html). + +For documentation on how to contribute to the extension, please see the [developer documentation](https://github.com/adobe/reactor-extension-alloy/wiki). + diff --git a/packages/reactor-extension/babel.config.json b/packages/reactor-extension/babel.config.json new file mode 100644 index 000000000..4bcf7a33e --- /dev/null +++ b/packages/reactor-extension/babel.config.json @@ -0,0 +1,12 @@ +{ + "plugins": ["version"], + "env": { + "production": { + "plugins": [ + "babel-plugin-jsx-remove-data-test-id", + "@babel/plugin-transform-nullish-coalescing-operator", + "@babel/plugin-transform-optional-chaining" + ] + } + } +} diff --git a/packages/reactor-extension/package.json b/packages/reactor-extension/package.json new file mode 100644 index 000000000..6e26aed82 --- /dev/null +++ b/packages/reactor-extension/package.json @@ -0,0 +1,143 @@ +{ + "name": "reactor-extension-alloy", + "version": "2.34.1", + "description": "The Adobe Experience Platform Web SDK allows for streaming data into the platform, syncing identities, personalizing content, and more.", + "author": { + "name": "Adobe", + "url": "http://adobe.com", + "email": "reactor@adobe.com" + }, + "license": "Apache-2.0", + "scripts": { + "add-license": "./scripts/add-license.mjs", + "build:alloy:preinstalled": "BROWSERSLIST_ROOT_PATH=. mkdir -p dist/lib && node ./scripts/buildAlloyPreinstalled.mjs -i src/lib/alloyPreinstalled.js -o dist -f alloyPreinstalled.js", + "build:alloy": "mkdir -p dist/lib && ([[ \"$ALLOY_LIBRARY_TYPE\" == \"\\\"preinstalled\\\"\" ]] && node ./scripts/buildAlloyPreinstalled.mjs -i src/lib/alloyPreinstalled.js -o dist/lib) || (node ./scripts/buildAlloy.mjs -i src/lib/alloy.js -o dist/lib)", + "build:componentFixtures": "./scripts/buildComponentFixtures.mjs", + "build:extensionManifest": "./scripts/buildExtensionManifest.mjs --verbose", + "build:lib": "./scripts/buildLib.mjs", + "build:views": "./scripts/buildViews.mjs", + "build": "conc --pad-prefix --names \"alloy,alloy-preinstalled,fixtures,manifest,lib,views\" \"pnpm run build:alloy\" \"pnpm run build:alloy:preinstalled\" \"pnpm run build:componentFixtures\" \"pnpm run build:extensionManifest\" \"pnpm run build:lib\" \"pnpm run build:views\"", + "watch:lib": "./scripts/buildLib.mjs --watch", + "watch:views": "./scripts/buildViews.mjs --watch", + "watch": "conc --pad-prefix --names \"alloy,fixtures,manifest,lib,views\" \"pnpm run build:alloy\" \"pnpm run build:componentFixtures\" \"pnpm run build:extensionManifest\" \"pnpm run watch:lib\" \"pnpm run watch:views\"", + "clean": "rimraf dist extension.json package-adobe-alloy*.zip", + "dev": "pnpm run build && conc --pad-prefix --names \"watch,sandbox\" \"pnpm run watch\" \"pnpm run sandbox\"", + "format:check": "prettier --check \"*.{js,jsx,html,mjs,cjs}\" \"{src,test,scripts}/**/*.{js,jsx,html,mjs,cjs}\"", + "format": "prettier --write \"*.{js,jsx,html,mjs,cjs}\" \"{src,test,scripts}/**/*.{js,jsx,html,mjs,cjs}\"", + "lint": "pnpm -C ../.. exec eslint --cache --fix \"packages/reactor-extension/**/*.{cjs,js,jsx}\"", + "package": "pnpm run clean && NODE_ENV=production ./scripts/createExtensionPackage.mjs", + "precommit-msg": "echo 'Running pre-commit scripts...' && exit 0", + "prepare": "husky", + "prepush-msg": "echo 'Running pre-push scripts...' && exit 0", + "sandbox": "./scripts/buildExtensionManifest.mjs && reactor-sandbox", + "test": "pnpm -C ../.. run build:lib && pnpm run build:alloy:preinstalled && pnpm -C ../.. run test:unit:extension && pnpm -C ../.. run test:integration:extension && pnpm run test:functional", + "test:coverage": "pnpm run clean && rimraf coverage && pnpm run build:alloy:preinstalled && pnpm exec playwright install chromium && vitest run --coverage", + "test:unit": "pnpm -C ../.. run build:lib && pnpm run build:alloy:preinstalled && pnpm exec playwright install chromium && pnpm -C ../.. run test:unit:extension", + "test:unit:watch": "pnpm -C ../.. run build:lib && pnpm run build:alloy:preinstalled && pnpm exec playwright install chromium && pnpm -C ../.. run test:unit:watch:extension", + "test:integration": "pnpm -C ../.. run test:integration:extension", + "test:integration:watch": "pnpm -C ../.. run test:integration:watch:extension", + "test:integration:debug": "pnpm -C ../.. run test:integration:debug", + "test:integration:debug:file": "pnpm exec playwright install chromium && vitest --browser=chromium --browser.provider=playwright --browser.headless=false --testTimeout=7000", + "test:serve": "serve --cors --no-clipboard --no-port-switching -p \"$WEB_SERVER_PORT\" dist/view", + "test:functional": "pnpm run build && WEB_SERVER_PORT=4000 conc --pad-prefix --kill-others --hide serve --names \"serve,test\" \"pnpm run test:serve\" \"testcafe playwright:chromium --esm test/functional/specs\"", + "test:functional:component": "pnpm run build && WEB_SERVER_PORT=4000 conc --pad-prefix --kill-others --hide serve --names \"serve,test\" \"pnpm run test:serve\" \"testcafe --esm playwright:chromium test/functional/specs/component\"", + "test:functional:runtime": "pnpm run build && WEB_SERVER_PORT=4000 conc --pad-prefix --kill-others --hide serve --names \"serve,test\" \"pnpm run test:serve\" \"testcafe --esm playwright:chromium test/functional/specs/runtime\"", + "test:functional:view": "pnpm run build && WEB_SERVER_PORT=4000 conc --pad-prefix --kill-others --hide serve --names \"serve,test\" \"pnpm run test:serve\" \"testcafe --esm playwright:chromium test/functional/specs/view\"", + "test:functional:watch": "WEB_SERVER_PORT=4000 conc --pad-prefix --kill-others --hide serve --names \"serve,test\" \"pnpm run test:serve\" \"testcafe --esm --live playwright:chromium test/functional/specs/\"", + "token": "node scripts/token.mjs", + "version": "./scripts/version.sh" + }, + "lint-staged": { + "./*.{js,jsx}": [ + "eslint --cache --fix" + ], + "./{src,test,scripts}/**/*.{js,jsx}": [ + "eslint --cache --fix" + ], + "./*.{js,jsx,html}": [ + "prettier --write" + ], + "./{src,test,scripts}/**/*.{js,jsx,html}": [ + "prettier --write" + ] + }, + "dependencies": { + "@adobe/alloy": "workspace:*", + "@adobe/react-spectrum": "^3.45.0", + "@react-stately/data": "^3.14.1", + "@spectrum-icons/illustrations": "^3.6.26", + "@spectrum-icons/workflow": "^4.2.25", + "antd": "^5.29.1", + "classnames": "^2.5.1", + "clipboard-copy": "^4.0.1", + "commander": "^14.0.2", + "escape-string-regexp": "^5.0.0", + "formik": "^2.4.9", + "once": "^1.4.0", + "prop-types": "^15.8.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "yup": "^1.7.1" + }, + "devDependencies": { + "@adobe/auth-token": "^1.0.1", + "@adobe/reactor-sandbox": "^13.4.0", + "@adobe/reactor-turbine": "^28.1.0", + "@adobe/reactor-turbine-schemas": "^10.8.0", + "@babel/cli": "^7.28.3", + "@babel/core": "^7.28.5", + "@babel/eslint-parser": "^7.28.5", + "@babel/preset-env": "^7.28.5", + "@babel/preset-react": "^7.28.5", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "^9.39.1", + "@parcel/config-default": "^2.16.1", + "@parcel/core": "^2.16.1", + "@parcel/reporter-cli": "^2.16.1", + "@playwright/test": "^1.56.1", + "@rollup/plugin-babel": "^6.1.0", + "@rollup/plugin-commonjs": "^29.0.0", + "@rollup/plugin-node-resolve": "^16.0.3", + "@vitejs/plugin-react": "^5.1.1", + "@vitest/browser-playwright": "^4.0.8", + "@vitest/coverage-v8": "^4.0.8", + "adm-zip": "^0.5.16", + "ajv": "^8.18.0", + "ajv-draft-04": "^1.0.0", + "ajv-formats": "^3.0.1", + "babel-plugin-jsx-remove-data-test-id": "^3.0.0", + "babel-plugin-version": "^0.2.3", + "concurrently": "^9.2.1", + "eslint": "^9.39.1", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^10.1.8", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-prettier": "^5.5.4", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-testcafe": "^0.2.1", + "eslint-plugin-testing-library": "^7.13.4", + "eslint-plugin-unused-imports": "^4.3.0", + "eslint-plugin-vitest": "^0.5.4", + "globals": "^16.5.0", + "happy-dom": "^20.0.10", + "husky": "^9.1.7", + "lint-staged": "^16.2.6", + "minimist": "^1.2.8", + "msw": "^2.12.2", + "parcel": "^2.16.1", + "parcel-transformer-extension-name": "workspace:parcel-transformer-extension-name", + "prettier": "^3.6.2", + "puppeteer": "^24.29.1", + "rimraf": "^6.1.0", + "rollup": "^4.52.5", + "rollup-plugin-istanbul": "^5.0.0", + "serve": "^14.2.5", + "staged-git-files": "^1.3.0", + "testcafe": "^3.7.2", + "testcafe-browser-provider-playwright": "^1.1.0", + "vitest": "^4.0.8", + "vitest-browser-react": "^2.0.2" + } +} diff --git a/packages/reactor-extension/pnpm-lock.yaml b/packages/reactor-extension/pnpm-lock.yaml new file mode 100644 index 000000000..e4597f226 --- /dev/null +++ b/packages/reactor-extension/pnpm-lock.yaml @@ -0,0 +1,23231 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@adobe/alloy': + specifier: 2.31.1 + version: 2.31.1(@types/babel__core@7.20.5)(@types/node@24.10.0)(picomatch@4.0.3)(vitest@4.0.8) + '@adobe/react-spectrum': + specifier: ^3.45.0 + version: 3.45.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/data': + specifier: ^3.14.1 + version: 3.14.1(react@19.2.0) + '@spectrum-icons/illustrations': + specifier: ^3.6.26 + version: 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@spectrum-icons/workflow': + specifier: ^4.2.25 + version: 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + antd: + specifier: ^5.29.1 + version: 5.29.1(moment@2.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: + specifier: ^2.5.1 + version: 2.5.1 + clipboard-copy: + specifier: ^4.0.1 + version: 4.0.1 + commander: + specifier: ^14.0.2 + version: 14.0.2 + escape-string-regexp: + specifier: ^5.0.0 + version: 5.0.0 + formik: + specifier: ^2.4.9 + version: 2.4.9(@types/react@19.2.2)(react@19.2.0) + once: + specifier: ^1.4.0 + version: 1.4.0 + prop-types: + specifier: ^15.8.1 + version: 15.8.1 + react: + specifier: ^19.2.0 + version: 19.2.0 + react-dom: + specifier: ^19.2.0 + version: 19.2.0(react@19.2.0) + yup: + specifier: ^1.7.1 + version: 1.7.1 + devDependencies: + '@adobe/auth-token': + specifier: ^1.0.1 + version: 1.0.1(@types/node@24.10.0) + '@adobe/reactor-sandbox': + specifier: ^13.4.0 + version: 13.4.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.2)(prop-types@15.8.1)(redux@4.2.1) + '@adobe/reactor-turbine': + specifier: ^28.1.0 + version: 28.1.0 + '@adobe/reactor-turbine-schemas': + specifier: ^10.8.0 + version: 10.8.0 + '@babel/cli': + specifier: ^7.28.3 + version: 7.28.3(@babel/core@7.28.5) + '@babel/core': + specifier: ^7.28.5 + version: 7.28.5 + '@babel/eslint-parser': + specifier: ^7.28.5 + version: 7.28.5(@babel/core@7.28.5)(eslint@9.39.1) + '@babel/preset-env': + specifier: ^7.28.5 + version: 7.28.5(@babel/core@7.28.5) + '@babel/preset-react': + specifier: ^7.28.5 + version: 7.28.5(@babel/core@7.28.5) + '@eslint/eslintrc': + specifier: ^3.3.1 + version: 3.3.1 + '@eslint/js': + specifier: ^9.39.1 + version: 9.39.1 + '@parcel/config-default': + specifier: ^2.16.1 + version: 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/core': + specifier: ^2.16.1 + version: 2.16.1(@swc/helpers@0.5.17) + '@parcel/reporter-cli': + specifier: ^2.16.1 + version: 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@playwright/test': + specifier: ^1.56.1 + version: 1.56.1 + '@rollup/plugin-babel': + specifier: ^6.1.0 + version: 6.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.53.1) + '@rollup/plugin-commonjs': + specifier: ^29.0.0 + version: 29.0.0(rollup@4.53.1) + '@rollup/plugin-node-resolve': + specifier: ^16.0.3 + version: 16.0.3(rollup@4.53.1) + '@vitejs/plugin-react': + specifier: ^5.1.1 + version: 5.1.1(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@vitest/browser-playwright': + specifier: ^4.0.8 + version: 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(playwright@1.56.1)(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vitest@4.0.8) + '@vitest/coverage-v8': + specifier: ^4.0.8 + version: 4.0.8(vitest@4.0.8) + adm-zip: + specifier: ^0.5.16 + version: 0.5.16 + ajv: + specifier: ^8.18.0 + version: 8.18.0 + ajv-draft-04: + specifier: ^1.0.0 + version: 1.0.0(ajv@8.18.0) + ajv-formats: + specifier: ^3.0.1 + version: 3.0.1(ajv@8.18.0) + babel-plugin-jsx-remove-data-test-id: + specifier: ^3.0.0 + version: 3.0.0(@babel/core@7.28.5) + babel-plugin-version: + specifier: ^0.2.3 + version: 0.2.3 + concurrently: + specifier: ^9.2.1 + version: 9.2.1 + eslint: + specifier: ^9.39.1 + version: 9.39.1 + eslint-config-airbnb: + specifier: ^19.0.4 + version: 19.0.4(eslint-plugin-import@2.32.0(eslint@9.39.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1))(eslint-plugin-react-hooks@4.6.2(eslint@9.39.1))(eslint-plugin-react@7.37.5(eslint@9.39.1))(eslint@9.39.1) + eslint-config-prettier: + specifier: ^10.1.8 + version: 10.1.8(eslint@9.39.1) + eslint-import-resolver-alias: + specifier: ^1.1.2 + version: 1.1.2(eslint-plugin-import@2.32.0(eslint@9.39.1)) + eslint-plugin-import: + specifier: ^2.32.0 + version: 2.32.0(eslint@9.39.1) + eslint-plugin-jsx-a11y: + specifier: ^6.10.2 + version: 6.10.2(eslint@9.39.1) + eslint-plugin-prettier: + specifier: ^5.5.4 + version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.6.2) + eslint-plugin-react: + specifier: ^7.37.5 + version: 7.37.5(eslint@9.39.1) + eslint-plugin-testcafe: + specifier: ^0.2.1 + version: 0.2.1 + eslint-plugin-testing-library: + specifier: ^7.13.4 + version: 7.13.4(eslint@9.39.1)(typescript@4.7.4) + eslint-plugin-unused-imports: + specifier: ^4.3.0 + version: 4.3.0(eslint@9.39.1) + eslint-plugin-vitest: + specifier: ^0.5.4 + version: 0.5.4(eslint@9.39.1)(typescript@4.7.4)(vitest@4.0.8) + globals: + specifier: ^16.5.0 + version: 16.5.0 + happy-dom: + specifier: ^20.0.10 + version: 20.0.10 + husky: + specifier: ^9.1.7 + version: 9.1.7 + lint-staged: + specifier: ^16.2.6 + version: 16.2.6 + minimist: + specifier: ^1.2.8 + version: 1.2.8 + msw: + specifier: ^2.12.2 + version: 2.12.2(@types/node@24.10.0)(typescript@4.7.4) + parcel: + specifier: ^2.16.1 + version: 2.16.1(@swc/helpers@0.5.17) + parcel-transformer-extension-name: + specifier: workspace:parcel-transformer-extension-name + version: link:scripts/helpers/parcel-transformer-extension-name + prettier: + specifier: ^3.6.2 + version: 3.6.2 + puppeteer: + specifier: ^24.29.1 + version: 24.29.1(typescript@4.7.4) + rimraf: + specifier: ^6.1.0 + version: 6.1.0 + rollup: + specifier: ^4.52.5 + version: 4.53.1 + rollup-plugin-istanbul: + specifier: ^5.0.0 + version: 5.0.0(rollup@4.53.1) + serve: + specifier: ^14.2.5 + version: 14.2.5 + staged-git-files: + specifier: ^1.3.0 + version: 1.3.0 + testcafe: + specifier: ^3.7.2 + version: 3.7.2 + testcafe-browser-provider-playwright: + specifier: ^1.1.0 + version: 1.1.0(playwright@1.56.1) + vitest: + specifier: ^4.0.8 + version: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + vitest-browser-react: + specifier: ^2.0.2 + version: 2.0.2(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vitest@4.0.8) + + scripts/helpers/parcel-transformer-extension-name: + dependencies: + '@parcel/plugin': + specifier: ^2.3.2 + version: 2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + +packages: + + '@adobe/aep-rules-engine@3.1.1': + resolution: {integrity: sha512-YeFDDSEM4wjwTNM4drKTIbYvfSdYS3DmeOgb1SxZfSXTcVg8vdxcd5blE2wKO42Qa4KUJK+ziK7ABvbHoO7T8Q==} + + '@adobe/alloy@2.31.1': + resolution: {integrity: sha512-GjgQ7T5YI1AIKoIHyyIe+1XN8e5YA9x0BcIDT1A4FiptGlWJWAaveU9do41dBJq6qoWPZPNV8MkF5l04eMUqnw==} + hasBin: true + + '@adobe/auth-token@1.0.1': + resolution: {integrity: sha512-oNEQf2SFvVPPjNsp+EhVywDjnaoua7fIuY06zzuY7T1tpClK8X72Lw//l5u96YzwgZoPb09YQLkPsGTQclHOxQ==} + engines: {node: '>=20.17.0'} + hasBin: true + + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} + + '@adobe/react-spectrum-ui@1.2.1': + resolution: {integrity: sha512-wcrbEE2O/9WnEn6avBnaVRRx88S5PLFsPLr4wffzlbMfXeQsy+RMQwaJd3cbzrn18/j04Isit7f7Emfn0dhrJA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@adobe/react-spectrum-workflow@2.3.5': + resolution: {integrity: sha512-b53VIPwPWKb/T5gzE3qs+QlGP5gVrw/LnWV3xMksDU+CRl3rzOKUwxIGiZO8ICyYh1WiyqY4myGlPU/nAynBUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@adobe/react-spectrum@3.45.0': + resolution: {integrity: sha512-4nSg5z5WNnVW+6EInqO99mhWJC2VkmqK4hozSaOXM9aqIj8rswhF0x+oHhNGNfZcheOkaTHFa+Iix5HVInUsjg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@adobe/reactor-babel-plugin-replace-tokens-edge@1.2.0': + resolution: {integrity: sha512-JZd74xK83zsUJfeyajZ5Wzea48qEQhOUIjHkwAH3vT/OziQi+vRsKWXxgvg4g5OlmdwZgPn/+EFXPDPrJ+Evhg==} + + '@adobe/reactor-bridge@12.0.0': + resolution: {integrity: sha512-vvZJcvGADKzVG2IhOuiJI5o22rVE6UGoTZAOOXvYpuY/c5aFTU1ExKq2Gh0nAq6srnnyisc5tpPp6BpNXJN14g==} + engines: {node: '>=12.13.0'} + + '@adobe/reactor-cookie@1.1.0': + resolution: {integrity: sha512-JlC0In45XJOrGuTnfLxj5Hmz9VFJO0hKJHnfc6Qtsrqw2vpKKHmfB8qMExtUw2HJ8iVQd3t+/q3h9wjfvUnVMA==} + + '@adobe/reactor-document@1.0.0': + resolution: {integrity: sha512-HDANIJUoc0RjTyWz5oBCZ6zBFw68GXIauFM5KxAfWEJ+DRgnVeDz74TuZ4L0Co0dHlRFbbXF0XjpYmn5YWev9A==} + + '@adobe/reactor-extension-core-edge@1.4.0': + resolution: {integrity: sha512-TAAnDd5G4qZa/O2LRKlttayoVLV97ZSdQfQCW+iNruDQnCQLwMTl+Wq2ibNtr3Wt342cgPYRgPd5tCmHrPH9UQ==} + + '@adobe/reactor-load-script@1.1.1': + resolution: {integrity: sha512-zshG46a+KpTPrSO2C5YJCZa1XEel2DNZijtsitHHsGMChQkSx6lfVH3JH2vuqUxCSq8bKC2eyBKcoDZkEZImgg==} + + '@adobe/reactor-object-assign@2.0.0': + resolution: {integrity: sha512-h3BMNk19QDJdyVLDL67fkvjbB4UDZcj5iQ5SeWQ77elGigJmhgo3wL/SegZA+qODwCLKYMGmoRzkDQEfblt0HA==} + + '@adobe/reactor-promise@2.0.0': + resolution: {integrity: sha512-kP5jg4J77Rtl9TpNmADaXRWvy3ST+9MDHUlkDtuwuFNL6IKG3L4V930zcM0u0lTntskTd/gAJadTJaWOn1mBCQ==} + + '@adobe/reactor-query-string@2.0.0': + resolution: {integrity: sha512-rGNnmKjpjA898mOHP5xU05geL50uwQDCxx6Ekh8C+l4Pem5OJIZJN/weqTgzVVxp9F+mRdPixFW5PqCEZrnTuA==} + + '@adobe/reactor-sandbox@13.4.0': + resolution: {integrity: sha512-/2iGC6BNUcg9gXQSmGuFTD0dglTq4R8Lq2QqRUinC0L7rimXJ1NkPBLEziGI9UqsqPJGq/aOB+hIoE5+LkXIpw==} + engines: {node: '>=20.17.0'} + hasBin: true + + '@adobe/reactor-token-scripts-edge@1.2.0': + resolution: {integrity: sha512-QmeIi/WIMevi+3gemZbFx+lNmJKHUIp+O4HLQs1MA+ff30uBzAx1rpw5z5SwcdpfJG3m7ggKKsbTNfxW6eiq2g==} + hasBin: true + + '@adobe/reactor-turbine-edge@3.0.1': + resolution: {integrity: sha512-RhLHziTvnUY7qUB8kPMxq3QwrMnpsnUV6EYp6TePbk2eWMqO/4fkOW9ffAs7+WKi/g4nCSsi5/fqET3bx0Lkzg==} + + '@adobe/reactor-turbine-schemas@10.8.0': + resolution: {integrity: sha512-bmhxkdIlYaWj7nUtl9JxR+DPoP4mnsQGrK2iJrua9MFTToS2QTS/rdnE5qOecAwAm+eqkYP5yfGFWze1SNHrtA==} + engines: {node: '>=20.17.0'} + + '@adobe/reactor-turbine@28.1.0': + resolution: {integrity: sha512-71Q/cuO2MaXRfNHF2KdKUvXZcEZ+/vx+w7nBz4gPN09ucG5hVrM9+v6AFY7uNWJbGrNRcLWU3ytBbJfQqQeErQ==} + engines: {node: '>=v20.17.0'} + + '@adobe/reactor-validator@2.5.0': + resolution: {integrity: sha512-cXaHW/KUrnHL2HlH/QhoXWGluqzKRZDMXNeogjk8NXkvXQRlUch98Pj9VmVpAsdukaiPwJQNoYe4rfvuZus5Fg==} + engines: {node: '>=20.17.0'} + hasBin: true + + '@adobe/reactor-window@1.0.0': + resolution: {integrity: sha512-n6B25+2/497ES7+SAtX4ikqJ67xpbGRP6Iqwe+J+ArO274MNh35K+h7ovXH+3yTgqtcJkujO8Pt+YmiuxxcPaQ==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ant-design/colors@7.2.1': + resolution: {integrity: sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==} + + '@ant-design/cssinjs-utils@1.1.3': + resolution: {integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@ant-design/cssinjs@1.24.0': + resolution: {integrity: sha512-K4cYrJBsgvL+IoozUXYjbT6LHHNt+19a9zkvpBPxLjFHas1UpPM2A5MlhROb0BT8N8WoavM5VsP9MeSeNK/3mg==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/fast-color@2.0.6': + resolution: {integrity: sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==} + engines: {node: '>=8.x'} + + '@ant-design/icons-svg@4.4.2': + resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} + + '@ant-design/icons@5.6.1': + resolution: {integrity: sha512-0/xS39c91WjPAZOWsvi1//zjx6kAp4kxWwctR6kuU6p133w8RU0D2dSCvZC19uQyharg/sAvYxGYWl01BbZZfg==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + '@ant-design/react-slick@1.1.2': + resolution: {integrity: sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==} + peerDependencies: + react: '>=16.9.0' + + '@babel/cli@7.28.3': + resolution: {integrity: sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==} + engines: {node: '>=6.9.0'} + hasBin: true + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/eslint-parser@7.28.5': + resolution: {integrity: sha512-fcdRcWahONYo+JRnJg1/AekOacGvKx12Gu0qXJXFi2WBqQA1i7+O5PaxRB7kxE/Op94dExnCiiar6T09pvdHpA==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.4.4': + resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-define-polyfill-provider@0.5.0': + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.28.3': + resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': + resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-decorators@7.28.0': + resolution: {integrity: sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.27.1': + resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.27.1': + resolution: {integrity: sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.27.1': + resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.28.5': + resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.27.1': + resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.28.3': + resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.28.4': + resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.27.1': + resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.28.5': + resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.27.1': + resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.28.0': + resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.28.5': + resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.27.1': + resolution: {integrity: sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.27.1': + resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.28.5': + resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.28.5': + resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': + resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.27.1': + resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.28.4': + resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.27.1': + resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.28.5': + resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.27.1': + resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.27.1': + resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.28.0': + resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.27.1': + resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.27.1': + resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.27.1': + resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.28.4': + resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.27.1': + resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.23.3': + resolution: {integrity: sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.27.1': + resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.27.1': + resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1': + resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.28.5': + resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-flow@7.27.1': + resolution: {integrity: sha512-ez3a2it5Fn6P54W8QkbfIyyIbxlXvcxyWHHvno1Wg0Ej5eiJY5hBb8ExttoIOJJk7V2dZE6prP7iby5q2aQ0Lg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.28.5': + resolution: {integrity: sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} + + '@codemirror/autocomplete@0.19.15': + resolution: {integrity: sha512-GQWzvvuXxNUyaEk+5gawbAD8s51/v2Chb++nx0e2eGWrphWk42isBtzOMdc3DxrxrZtPZ55q2ldNp+6G8KJLIQ==} + + '@codemirror/basic-setup@0.19.3': + resolution: {integrity: sha512-2hfO+QDk/HTpQzeYk1NyL1G9D5L7Sj78dtaQP8xBU42DKU9+OBPF5MdjLYnxP0jKzm6IfQfsLd89fnqW3rBVfQ==} + deprecated: In version 6.0, this package has been renamed to just 'codemirror' + + '@codemirror/closebrackets@0.19.2': + resolution: {integrity: sha512-ClMPzPcPP0eQiDcVjtVPl6OLxgdtZSYDazsvT0AKl70V1OJva0eHgl4/6kCW3RZ0pb2n34i9nJz4eXCmK+TYDA==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/autocomplete + + '@codemirror/commands@0.19.8': + resolution: {integrity: sha512-65LIMSGUGGpY3oH6mzV46YWRrgao6NmfJ+AuC7jNz3K5NPnH6GCV1H5I6SwOFyVbkiygGyd0EFwrWqywTBD1aw==} + + '@codemirror/comment@0.19.1': + resolution: {integrity: sha512-uGKteBuVWAC6fW+Yt8u27DOnXMT/xV4Ekk2Z5mRsiADCZDqYvryrJd6PLL5+8t64BVyocwQwNfz1UswYS2CtFQ==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/commands + + '@codemirror/fold@0.19.4': + resolution: {integrity: sha512-0SNSkRSOa6gymD6GauHa3sxiysjPhUC0SRVyTlvL52o0gz9GHdc8kNqNQskm3fBtGGOiSriGwF/kAsajRiGhVw==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/language + + '@codemirror/gutter@0.19.9': + resolution: {integrity: sha512-PFrtmilahin1g6uL27aG5tM/rqR9DZzZYZsIrCXA5Uc2OFTFqx4owuhoU9hqfYxHp5ovfvBwQ+txFzqS4vog6Q==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/view + + '@codemirror/highlight@0.19.8': + resolution: {integrity: sha512-v/lzuHjrYR8MN2mEJcUD6fHSTXXli9C1XGYpr+ElV6fLBIUhMTNKR3qThp611xuWfXfwDxeL7ppcbkM/MzPV3A==} + deprecated: As of 0.20.0, this package has been split between @lezer/highlight and @codemirror/language + + '@codemirror/history@0.19.2': + resolution: {integrity: sha512-unhP4t3N2smzmHoo/Yio6ueWi+il8gm9VKrvi6wlcdGH5fOfVDNkmjHQ495SiR+EdOG35+3iNebSPYww0vN7ow==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/commands + + '@codemirror/lang-json@0.19.2': + resolution: {integrity: sha512-fgUWR58Is59P5D/tiazX6oTczioOCDYqjFT5PEBAmLBFMSsRqcnJE0xNO1snrhg7pWEFDq5wR/oN0eZhkeR6Gg==} + + '@codemirror/language@0.19.10': + resolution: {integrity: sha512-yA0DZ3RYn2CqAAGW62VrU8c4YxscMQn45y/I9sjBlqB1e2OTQLg4CCkMBuMSLXk4xaqjlsgazeOQWaJQOKfV8Q==} + + '@codemirror/lint@0.19.6': + resolution: {integrity: sha512-Pbw1Y5kHVs2J+itQ0uez3dI4qY9ApYVap7eNfV81x1/3/BXgBkKfadaw0gqJ4h4FDG7OnJwb0VbPsjJQllHjaA==} + + '@codemirror/matchbrackets@0.19.4': + resolution: {integrity: sha512-VFkaOKPNudAA5sGP1zikRHCEKU0hjYmkKpr04pybUpQvfTvNJXlReCyP0rvH/1iEwAGPL990ZTT+QrLdu4MeEA==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/language + + '@codemirror/panel@0.19.1': + resolution: {integrity: sha512-sYeOCMA3KRYxZYJYn5PNlt9yNsjy3zTNTrbYSfVgjgL9QomIVgOJWPO5hZ2sTN8lufO6lw0vTBsIPL9MSidmBg==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/view + + '@codemirror/rangeset@0.19.9': + resolution: {integrity: sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/state + + '@codemirror/rectangular-selection@0.19.2': + resolution: {integrity: sha512-AXK/p5eGwFJ9GJcLfntqN4dgY+XiIF7eHfXNQJX5HhQLSped2wJE6WuC1rMEaOlcpOqlb9mrNi/ZdUjSIj9mbA==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/view + + '@codemirror/search@0.19.10': + resolution: {integrity: sha512-qjubm69HJixPBWzI6HeEghTWOOD8NXiHOTRNvdizqs8xWRuFChq9zkjD3XiAJ7GXSTzCuQJnAP9DBBGCLq4ZIA==} + + '@codemirror/state@0.19.9': + resolution: {integrity: sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==} + + '@codemirror/text@0.19.6': + resolution: {integrity: sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/state + + '@codemirror/tooltip@0.19.16': + resolution: {integrity: sha512-zxKDHryUV5/RS45AQL+wOeN+i7/l81wK56OMnUPoTSzCWNITfxHn7BToDsjtrRKbzHqUxKYmBnn/4hPjpZ4WJQ==} + deprecated: As of 0.20.0, this package has been merged into @codemirror/view + + '@codemirror/view@0.19.48': + resolution: {integrity: sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==} + + '@devexpress/bin-v8-flags-filter@1.3.0': + resolution: {integrity: sha512-LWLNfYGwVJKYpmHUDoODltnlqxdEAl5Qmw7ha1+TSpsABeF94NKSWkQTTV1TB4CM02j2pZyqn36nHgaFl8z7qw==} + + '@devexpress/callsite-record@4.1.7': + resolution: {integrity: sha512-qr3VQYc0KopduFkEY6SxaOIi1Xhm0jIWQfrxxMVboI/p2rjF/Mj/iqaiUxQQP6F3ujpW/7l0mzhf17uwcFZhBA==} + + '@electron/asar@3.4.1': + resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} + engines: {node: '>=10.12.0'} + hasBin: true + + '@emotion/hash@0.8.0': + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + + '@emotion/unitless@0.7.5': + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@formatjs/ecma402-abstract@2.3.6': + resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} + + '@formatjs/fast-memoize@2.2.7': + resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} + + '@formatjs/icu-messageformat-parser@2.11.4': + resolution: {integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==} + + '@formatjs/icu-skeleton-parser@1.8.16': + resolution: {integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==} + + '@formatjs/intl-localematcher@0.6.2': + resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@inquirer/ansi@1.0.2': + resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} + engines: {node: '>=18'} + + '@inquirer/checkbox@4.3.1': + resolution: {integrity: sha512-rOcLotrptYIy59SGQhKlU0xBg1vvcVl2FdPIEclUvKHh0wo12OfGkId/01PIMJ/V+EimJ77t085YabgnQHBa5A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@5.1.20': + resolution: {integrity: sha512-HDGiWh2tyRZa0M1ZnEIUCQro25gW/mN8ODByicQrbR1yHx4hT+IOpozCMi5TgBtUdklLwRI2mv14eNpftDluEw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.3.1': + resolution: {integrity: sha512-hzGKIkfomGFPgxKmnKEKeA+uCYBqC+TKtRx5LgyHRCrF6S2MliwRIjp3sUaWwVzMp7ZXVs8elB0Tfe682Rpg4w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.22': + resolution: {integrity: sha512-8yYZ9TCbBKoBkzHtVNMF6PV1RJEUvMlhvmS3GxH4UvXMEHlS45jFyqFy0DU+K42jBs5slOaA78xGqqqWAx3u6A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.22': + resolution: {integrity: sha512-9XOjCjvioLjwlq4S4yXzhvBmAXj5tG+jvva0uqedEsQ9VD8kZ+YT7ap23i0bIXOtow+di4+u3i6u26nDqEfY4Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@inquirer/input@4.3.0': + resolution: {integrity: sha512-h4fgse5zeGsBSW3cRQqu9a99OXRdRsNCvHoBqVmz40cjYjYFzcfwD0KA96BHIPlT7rZw0IpiefQIqXrjbzjS4Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.22': + resolution: {integrity: sha512-oAdMJXz++fX58HsIEYmvuf5EdE8CfBHHXjoi9cTcQzgFoHGZE+8+Y3P38MlaRMeBvAVnkWtAxMUF6urL2zYsbg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.22': + resolution: {integrity: sha512-CbdqK1ioIr0Y3akx03k/+Twf+KSlHjn05hBL+rmubMll7PsDTGH0R4vfFkr+XrkB0FOHrjIwVP9crt49dgt+1g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.10.0': + resolution: {integrity: sha512-X2HAjY9BClfFkJ2RP3iIiFxlct5JJVdaYYXhA7RKxsbc9KL+VbId79PSoUGH/OLS011NFbHHDMDcBKUj3T89+Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.1.10': + resolution: {integrity: sha512-Du4uidsgTMkoH5izgpfyauTL/ItVHOLsVdcY+wGeoGaG56BV+/JfmyoQGniyhegrDzXpfn3D+LFHaxMDRygcAw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.2.1': + resolution: {integrity: sha512-cKiuUvETublmTmaOneEermfG2tI9ABpb7fW/LqzZAnSv4ZaJnbEis05lOkiBuYX5hNdnX0Q9ryOQyrNidb55WA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@4.4.1': + resolution: {integrity: sha512-E9hbLU4XsNe2SAOSsFrtYtYQDVi1mfbqJrPDvXKnGlnRiApBdWMJz7r3J2Ff38AqULkPUD3XjQMD4492TymD7Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.10': + resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@internationalized/date@3.10.0': + resolution: {integrity: sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==} + + '@internationalized/message@3.1.8': + resolution: {integrity: sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA==} + + '@internationalized/number@3.6.5': + resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} + + '@internationalized/string@3.2.7': + resolution: {integrity: sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A==} + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@lezer/common@0.15.12': + resolution: {integrity: sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==} + + '@lezer/common@1.3.0': + resolution: {integrity: sha512-L9X8uHCYU310o99L3/MpJKYxPzXPOS7S0NmBaM7UO/x2Kb2WbmMLSkfvdr1KxRIFYOpbY0Jhn7CfLSUDzL8arQ==} + + '@lezer/json@0.15.0': + resolution: {integrity: sha512-OsMjjBkTkeQ15iMCu5U1OiBubRC4V9Wm03zdIlUgNZ20aUPx5DWDRqUc5wG41JXVSj7Lxmo+idlFCfBBdxB8sw==} + + '@lezer/lr@0.15.8': + resolution: {integrity: sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==} + + '@lezer/lr@1.4.3': + resolution: {integrity: sha512-yenN5SqAxAPv/qMnpWW0AT7l+SxVrgG+u0tNsRQWqbrz66HIl8DnEbBObvy21J5K7+I1v7gsAnlE2VQ5yYVSeA==} + + '@lmdb/lmdb-darwin-arm64@2.8.5': + resolution: {integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==} + cpu: [arm64] + os: [darwin] + + '@lmdb/lmdb-darwin-x64@2.8.5': + resolution: {integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==} + cpu: [x64] + os: [darwin] + + '@lmdb/lmdb-linux-arm64@2.8.5': + resolution: {integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==} + cpu: [arm64] + os: [linux] + + '@lmdb/lmdb-linux-arm@2.8.5': + resolution: {integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==} + cpu: [arm] + os: [linux] + + '@lmdb/lmdb-linux-x64@2.8.5': + resolution: {integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==} + cpu: [x64] + os: [linux] + + '@lmdb/lmdb-win32-x64@2.8.5': + resolution: {integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==} + cpu: [x64] + os: [win32] + + '@mischnic/json-sourcemap@0.1.1': + resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==} + engines: {node: '>=12.0.0'} + + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': + resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} + cpu: [arm64] + os: [darwin] + + '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': + resolution: {integrity: sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==} + cpu: [x64] + os: [darwin] + + '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': + resolution: {integrity: sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==} + cpu: [arm64] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': + resolution: {integrity: sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==} + cpu: [arm] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': + resolution: {integrity: sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==} + cpu: [x64] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': + resolution: {integrity: sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==} + cpu: [x64] + os: [win32] + + '@mswjs/interceptors@0.40.0': + resolution: {integrity: sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ==} + engines: {node: '>=18'} + + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': + resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@one-ini/wasm@0.1.1': + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + + '@parcel/bundler-default@2.16.1': + resolution: {integrity: sha512-ruy+Yt96Jre2+5PSE4qcH7ETarIuQ+OIY8hejOQ53inVgu9QlvBJf/L2PhNkumHN2zA6m5f0m/MhB+amaee5ew==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/cache@2.16.1': + resolution: {integrity: sha512-qDlHQQ7RDfSi5MBnuFGCfQYiQQomsA5aZLntO5MCRD62VnMf9qz/RrCqpGFGOooljMoUaeVl0Q8ARvorRJJi8w==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/cache@2.16.4': + resolution: {integrity: sha512-+uCyeElSga2MBbmbXpIj/WVKH7TByCrKaxtHbelfKKIJpYMgEHVjO4cuc7GUfTrUAmRUS8ZGvnX7Etgq6/jQhw==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.4 + + '@parcel/codeframe@2.16.1': + resolution: {integrity: sha512-KLy9Fvf37SX6/wek2SUPw8A/W0kChcNXPUNeCIYWUFI4USAZ5KvesXS5RHUnrJTaR0XzD0Qia+MFJPgp6kuazQ==} + engines: {node: '>= 16.0.0'} + + '@parcel/codeframe@2.16.4': + resolution: {integrity: sha512-s64aMfOJoPrXhKH+Y98ahX0O8aXWvTR+uNlOaX4yFkpr4FFDnviLcGngDe/Yo4Qq2FJZ0P6dNswbJTUH9EGxkQ==} + engines: {node: '>= 16.0.0'} + + '@parcel/compressor-raw@2.16.1': + resolution: {integrity: sha512-44sHWuEyGwUvs2bG1t/hsBP0lR06HO2btrXhkUGL+HX6D8cZrkZfSBFnUrGYZURYRybyx8qkhcogf5SU5rbwAQ==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/config-default@2.16.1': + resolution: {integrity: sha512-jBgbHW73MrEdiKH6LISLw5TZ2oVvyLm3GaYzwNkcRTUtSh6aRVjxvCWePdxy41dcwnMC/ABLsamtN4wokAKKSQ==} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/core@2.16.1': + resolution: {integrity: sha512-tza8oKYaPopGBwroGJKv7BrTg1lxTycS7SANIizxMB9FxDsAkq4vPny5/KHpFBcW3UTCGBvvNAG1oaVzeWF5Pg==} + engines: {node: '>= 16.0.0'} + + '@parcel/core@2.16.4': + resolution: {integrity: sha512-a0CgrW5A5kwuSu5J1RFRoMQaMs9yagvfH2jJMYVw56+/7NRI4KOtu612SG9Y1ERWfY55ZwzyFxtLWvD6LO+Anw==} + engines: {node: '>= 16.0.0'} + + '@parcel/diagnostic@2.16.1': + resolution: {integrity: sha512-PJl7/QGsPboAMVFZId31iGMMY70AllZNOtYka9rTZRjTiBhZw4VrAG/RdqqKzjVuL6fZhurmfcwWzj+3gx8ccg==} + engines: {node: '>= 16.0.0'} + + '@parcel/diagnostic@2.16.4': + resolution: {integrity: sha512-YN5CfX7lFd6yRLxyZT4Sj3sR6t7nnve4TdXSIqapXzQwL7Bw+sj79D95wTq2rCm3mzk5SofGxFAXul2/nG6gcQ==} + engines: {node: '>= 16.0.0'} + + '@parcel/error-overlay@2.16.1': + resolution: {integrity: sha512-9vZq5ijoAn+JjodXc5FNy6ZQ2qpqSAaKDs+wCi4JrZMJJx7+dXZ31xtbpmP2SzG2Wppf8KhS/dOGmtQh65jT8Q==} + engines: {node: '>= 16.0.0'} + + '@parcel/events@2.16.1': + resolution: {integrity: sha512-+U7Trb2W8fm8w/OjwQpWN/Tepiwim/YNXuyPrhikFnsrg6QDdDTD/8/km4ah8Bzr0u4hIrn1k32InwDMCF5sig==} + engines: {node: '>= 16.0.0'} + + '@parcel/events@2.16.4': + resolution: {integrity: sha512-slWQkBRAA7o0cN0BLEd+yCckPmlVRVhBZn5Pn6ktm4EzEtrqoMzMeJOxxH8TXaRzrQDYnTcnYIHFgXWd4kkUfg==} + engines: {node: '>= 16.0.0'} + + '@parcel/feature-flags@2.16.1': + resolution: {integrity: sha512-MY/z4gKZWk0MKvP+gpU42kiE9W4f9NM1fSCa1OcdqF7IUJDDM41CDJ9rbwSQrroDddIViaNzsLo7aSYVI/C7aA==} + engines: {node: '>= 16.0.0'} + + '@parcel/feature-flags@2.16.4': + resolution: {integrity: sha512-nYdx53siKPLYikHHxfzgjzzgxdrjquK6DMnuSgOTyIdRG4VHdEN0+NqKijRLuVgiUFo/dtxc2h+amwqFENMw8w==} + engines: {node: '>= 16.0.0'} + + '@parcel/fs@2.16.1': + resolution: {integrity: sha512-/akyrCaurd8rfgXuT6tDAK6I1JfW56TFJmzfIwuFSPbRy3YVu4JKN1g2PShpOLPdnqfWZNCcsd+yuuMFVhA2HA==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/fs@2.16.4': + resolution: {integrity: sha512-maCMOiVn7oJYZlqlfxgLne8n6tSktIT1k0AeyBp4UGWCXyeJUJ+nL7QYShFpKNLtMLeF0cEtgwRAknWzbcDS1g==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.4 + + '@parcel/graph@3.6.1': + resolution: {integrity: sha512-82sjbjrSPK5BXH0tb65tQl/qvo/b2vsyA5F6z3SaQ/c3A5bmv5RxTvse1AgOb0St0lZ7ALaZibj1qZFBUyjdqw==} + engines: {node: '>= 16.0.0'} + + '@parcel/graph@3.6.4': + resolution: {integrity: sha512-Cj9yV+/k88kFhE+D+gz0YuNRpvNOCVDskO9pFqkcQhGbsGq6kg2XpZ9V7HlYraih31xf8Vb589bZOwjKIiHixQ==} + engines: {node: '>= 16.0.0'} + + '@parcel/logger@2.16.1': + resolution: {integrity: sha512-w9Qpp5S79fqn6nh/VqVYG4kCbIeW45zdPvYJMFgE90zhBRLrOnqw06cRZQdKj24C7/kdqOFFbrJ3B5uTsYeS0w==} + engines: {node: '>= 16.0.0'} + + '@parcel/logger@2.16.4': + resolution: {integrity: sha512-QR8QLlKo7xAy9JBpPDAh0RvluaixqPCeyY7Fvo2K7hrU3r85vBNNi06pHiPbWoDmB4x1+QoFwMaGnJOHR+/fMA==} + engines: {node: '>= 16.0.0'} + + '@parcel/markdown-ansi@2.16.1': + resolution: {integrity: sha512-4Qww9KkGrVrY/JyD2NtrdUmyufKOqGg3t6hkE4UqQBPb+GZd+TQi6i1mjWvOE6r9AF53x5PAZZ13f/HfllU2qA==} + engines: {node: '>= 16.0.0'} + + '@parcel/markdown-ansi@2.16.4': + resolution: {integrity: sha512-0+oQApAVF3wMcQ6d1ZfZ0JsRzaMUYj9e4U+naj6YEsFsFGOPp+pQYKXBf1bobQeeB7cPKPT3SUHxFqced722Hw==} + engines: {node: '>= 16.0.0'} + + '@parcel/namer-default@2.16.1': + resolution: {integrity: sha512-vs4djcAt3HoQri6g8itdCzFTiFXwcVNfFDqa9By1pTdq/aKWapJWZaes2KCf2ey2FoEafS0tOIA90n124PM00A==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/node-resolver-core@3.7.1': + resolution: {integrity: sha512-xY+mzz1a5L22HvwkCHtt1fRZa8pD8znXLB8NLnqdu/xa7FGwWNgA2ukFPSlNGwwI5aw3jQylERP8Mr6/qLsefQ==} + engines: {node: '>= 16.0.0'} + + '@parcel/node-resolver-core@3.7.4': + resolution: {integrity: sha512-b3VDG+um6IWW5CTod6M9hQsTX5mdIelKmam7mzxzgqg4j5hnycgTWqPMc9UxhYoUY/Q/PHfWepccNcKtvP5JiA==} + engines: {node: '>= 16.0.0'} + + '@parcel/optimizer-css@2.16.1': + resolution: {integrity: sha512-MIbeqxqcbtGksiNzIvFeMU++gsBl8MafQRghQxsB1kAMl49i+Cnj/Kp3qKkHd+Bb2XXlx7TagGtXCnCrtxdJjw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/optimizer-html@2.16.1': + resolution: {integrity: sha512-AwrecuOOuWqlon+rWJsQuXyJ70ivTbjm505NTBKoQYdVeEbO6pZYYeuF8ZKh0Qq+zOCy47397RgEuiuwLf9t2g==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/optimizer-image@2.16.1': + resolution: {integrity: sha512-vlQW0DJQ0XTmM/rNwJUuLbTeB31CwyH2yb2RMZfByAGGodpy2vxt51NS/KyV1mNcJRBtW2Li+XVzYSb14dF5Bw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/optimizer-svg@2.16.1': + resolution: {integrity: sha512-dpAlCrbITPQr5RpuSjr91pfkQumxOzyiaRM39kMwjsTrYa2/F/JCoPKJZMSMyODvB9MZAz2qfGkWbj/Xb+a1NQ==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/optimizer-swc@2.16.1': + resolution: {integrity: sha512-mZtrISSio541K4IH0cT90c143YOvAhOs04RrBGs12WjtHOVTASt0V3gVhstP4W3HvtVNbkJ4mAtUiuC7xtuHJw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/package-manager@2.16.1': + resolution: {integrity: sha512-HDMT0+L7kMBG+YgkxaNv/1nobFRgygte9e0QuYiSVMngdbYvXw9Yy8tEDeWEAOKWs0rGtPXJD6k9gP8/Aa3VQw==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/package-manager@2.16.4': + resolution: {integrity: sha512-obWv9gZgdnkT3Kd+fBkKjhdNEY7zfOP5gVaox5i4nQstVCaVnDlMv5FwLEXwehL+WbwEcGyEGGxOHHkAFKk7Cg==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.4 + + '@parcel/packager-css@2.16.1': + resolution: {integrity: sha512-N4Ex89dqoprdDoSusM2qveQcpl9zdaQmZtW81xIMFK5+ruaBcKy6Rzyao8LWnbg4wfeNVE0zVkZEq7k3oxbCBA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/packager-html@2.16.1': + resolution: {integrity: sha512-QleJQl63DC2AaIQ2rHS3d46zhGrIoxBz1QKDfgYoG+YxpG8nAKFgI3YBCMNwUYU4pVpNWxmLP/MRKNz9hVxL9Q==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/packager-js@2.16.1': + resolution: {integrity: sha512-jTxUhGVqZdierdjeGCJiuVBSBU8iVqp3A0BT/RCpcB0YYY3dymDHTQrAFw8h2kJ0ZcfQEr6BeFIU4RBTuM1xow==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/packager-raw@2.16.1': + resolution: {integrity: sha512-EYTGl4uKGu0HVFlCZtUcwo+aNr8/9BiXZyY1crd4SRF1cioKYpgLZKv31z1uNiaDrTxIRH8hWNnjPWAxj382NA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/packager-svg@2.16.1': + resolution: {integrity: sha512-DQJtFyjurSDu135vvDd0DDFjyaTS8eX9Gl8wS33fPh31PgeqbSYGSe6vtlIw5NHWSTgqvxGmwAf1HYY9WgEGTw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/packager-wasm@2.16.1': + resolution: {integrity: sha512-Do/5Cr4yckpWqeQyhiPqwDbbg+nwj20BGIP9edYIL9XAmCh8ARBwntFWmcSpeNdGp+DSJKQ28SgWCT/5cyyoig==} + engines: {node: '>=16.0.0', parcel: ^2.16.1} + + '@parcel/plugin@2.16.1': + resolution: {integrity: sha512-/5hdgMFjd4pRZelfzWVAEWEH51qCHGB6I3z4mV3i8Teh0zsOgoHJrn1t+sVYkhKPDOMs16XAkx2iCMvEcktDrA==} + engines: {node: '>= 16.0.0'} + + '@parcel/plugin@2.16.4': + resolution: {integrity: sha512-aN2VQoRGC1eB41ZCDbPR/Sp0yKOxe31oemzPx1nJzOuebK2Q6FxSrJ9Bjj9j/YCaLzDtPwelsuLOazzVpXJ6qg==} + engines: {node: '>= 16.0.0'} + + '@parcel/profiler@2.16.1': + resolution: {integrity: sha512-9VKswpixK5CggxqoEoThiusnRbqU48QIWwmGQhaTV9iBYi9m/LhEYUoTa8K/KQ70yJknghMMNc1JfAvt2bfh5w==} + engines: {node: '>= 16.0.0'} + + '@parcel/profiler@2.16.4': + resolution: {integrity: sha512-R3JhfcnoReTv2sVFHPR2xKZvs3d3IRrBl9sWmAftbIJFwT4rU70/W7IdwfaJVkD/6PzHq9mcgOh1WKL4KAxPdA==} + engines: {node: '>= 16.0.0'} + + '@parcel/reporter-cli@2.16.1': + resolution: {integrity: sha512-+P4Nvg5a2GnOpsIf93U75JjPgltrAmGTCVyRpbeBo45uFBvHGKPX5O7Vn7rl1wWunNobOAxn6F9JxPCApcw79A==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/reporter-dev-server@2.16.1': + resolution: {integrity: sha512-xTVhfnt3Se5BTLC/Dp4pBmytqdZcVyqDExJ39N9mi76/CW0XNDcMqRFACxQltu/ahxmUYYyFtpiXis5Daf9xzQ==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/reporter-tracer@2.16.1': + resolution: {integrity: sha512-MDDzZx5j0yer+jTP/gBEPiMDzOAeKy7I0pLyPuntwKWnAiaG+TRaQPp8xXQhW6ZxIQIqsHkfUJoTksuFTla+tA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/resolver-default@2.16.1': + resolution: {integrity: sha512-UmnZClD4nWusNTpfC7WaNUfPNnNbjgrIR1l3kOAU+X/b/HJWczzMNIZGTw3rypV0df6XpQlrUrHc85NJ6aRlLA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/runtime-browser-hmr@2.16.1': + resolution: {integrity: sha512-W8Os+1ORHLJmzX+av76DQkyX4RLndhhB4u1o43P55UfAaV3URcc2I0tNQ/wZKA7qU2DhcdoXijMok7VRUfS0jw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/runtime-js@2.16.1': + resolution: {integrity: sha512-Ck7DJw1QmeYiQ17z0Q3mtDl6fH1VPrORmygb2CYcGAIOfIbvXV74vRss1NqpScU8QTjN0qpL4Ve8txwoISgIAg==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/runtime-rsc@2.16.1': + resolution: {integrity: sha512-waNc2gBWxfaUcvPtPAtjWwRLYLuMPHyu+JMgHV7txsv3JZnPNieUvTPbqeARbpsVpk2xTgFnAGS3HBfw5QW/Eg==} + engines: {node: '>= 12.0.0', parcel: ^2.16.1} + + '@parcel/runtime-service-worker@2.16.1': + resolution: {integrity: sha512-YiM/SS8rk/sBFdA8YFxlviO5FhAjzjBVAzzlnNG0qe3xLmqBfzHzW+RNf0/KblWRhxHCwmUDmzgE2ybaDeL3Lw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/rust-darwin-arm64@2.16.1': + resolution: {integrity: sha512-6J1pnznHYzH1TOQbDZmbGa6bXNW+KXbD+XIihvQOid42DLGJNXRmwMmCU3en/759lF/pfmzmR7sm6wPKaKGfbg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@parcel/rust-darwin-arm64@2.16.4': + resolution: {integrity: sha512-P3Se36H9EO1fOlwXqQNQ+RsVKTGn5ztRSUGbLcT8ba6oOMmU1w7J4R810GgsCbwCuF10TJNUMkuD3Q2Sz15Q3Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@parcel/rust-darwin-x64@2.16.1': + resolution: {integrity: sha512-NDZpxleSeJ0yPx4OobDcj+z5x6RzsWmuA1RXBDuCKhf2kyXKP3+kfmrQew/7Q0r9uKA5pqCIw0W4eFqy4IoqIA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@parcel/rust-darwin-x64@2.16.4': + resolution: {integrity: sha512-8aNKNyPIx3EthYpmVJevIdHmFsOApXAEYGi3HU69jTxLgSIfyEHDdGE9lEsMvhSrd/SSo4/euAtiV+pqK04wnA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@parcel/rust-linux-arm-gnueabihf@2.16.1': + resolution: {integrity: sha512-xLLcbMP38ya8/z5esp3ypN2htxO9AsY4uQqF2rigIUZ2abQwL4MPKxfVZtrExWdcrcWiFUbiwn3+GKu/0M9Yow==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@parcel/rust-linux-arm-gnueabihf@2.16.4': + resolution: {integrity: sha512-QrvqiSHaWRLc0JBHgUHVvDthfWSkA6AFN+ikV1UGENv4j2r/QgvuwJiG0VHrsL6pH5dRqj0vvngHzEgguke9DA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@parcel/rust-linux-arm64-gnu@2.16.1': + resolution: {integrity: sha512-asZlimUq1wBmj2PDcoBSKD1SJvcLf1mXTcYGojOsA3dqkOOz7fGz7oubqZYn6IM+02cUDO4ekH+YBV6Eo7XlTg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/rust-linux-arm64-gnu@2.16.4': + resolution: {integrity: sha512-f3gBWQHLHRUajNZi3SMmDQiEx54RoRbXtZYQNuBQy7+NolfFcgb1ik3QhkT7xovuTF/LBmaqP3UFy0PxvR/iwQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/rust-linux-arm64-musl@2.16.1': + resolution: {integrity: sha512-japSgrHYDD+uNHQ8TEdEhpiWu0zWMVBE48W3HJ5FKkwUOY51whZa8w0lhYW88ykUDYtEEd1ipvflv0fSDFY1jw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/rust-linux-arm64-musl@2.16.4': + resolution: {integrity: sha512-cwml18RNKsBwHyZnrZg4jpecXkWjaY/mCArocWUxkFXjjB97L56QWQM9W86f2/Y3HcFcnIGJwx1SDDKJrV6OIA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/rust-linux-x64-gnu@2.16.1': + resolution: {integrity: sha512-A2LHDou7QDsKn3qlE+DHTBFqnjk0Hy1dhVEJgPgvW4N0XMa4x2JEcnLI9oFZ4KDXyMLGs0H6/smZ88zSdFoF3w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/rust-linux-x64-gnu@2.16.4': + resolution: {integrity: sha512-0xIjQaN8hiG0F9R8coPYidHslDIrbfOS/qFy5GJNbGA3S49h61wZRBMQqa7JFW4+2T8R0J9j0SKHhLXpbLXrIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/rust-linux-x64-musl@2.16.1': + resolution: {integrity: sha512-C+WgGbmIV1XxXUgNJdXpfZazqizYBvy7aesh8Z74QrlY99an/puQufd4kSbvwySN5iMGPSpN0VlyAUjDZLv9rQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/rust-linux-x64-musl@2.16.4': + resolution: {integrity: sha512-fYn21GIecHK9RoZPKwT9NOwxwl3Gy3RYPR6zvsUi0+hpFo19Ph9EzFXN3lT8Pi5KiwQMCU4rsLb5HoWOBM1FeA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/rust-win32-x64-msvc@2.16.1': + resolution: {integrity: sha512-m8LoaBJfw5nv/4elM/jNNhWL5/HqBHNQnrbnN89e8sxn4L/zv9bPoXqHOuZglXwyB5velw1MGonX9Be/aK00ag==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@parcel/rust-win32-x64-msvc@2.16.4': + resolution: {integrity: sha512-TcpWC3I1mJpfP2++018lgvM7UX0P8IrzNxceBTHUKEIDMwmAYrUKAQFiaU0j1Ldqk6yP8SPZD3cvphumsYpJOQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@parcel/rust@2.16.1': + resolution: {integrity: sha512-lQkf14MLKZSY/P8j1lrOgFvMCt95dO+VdXIIM2aHjbxnzYSIGgHIt2XDVtKULE+DexaYZbleA0tTnX8AABUIyQ==} + engines: {node: '>= 16.0.0'} + peerDependencies: + napi-wasm: ^1.1.2 + peerDependenciesMeta: + napi-wasm: + optional: true + + '@parcel/rust@2.16.4': + resolution: {integrity: sha512-RBMKt9rCdv6jr4vXG6LmHtxzO5TuhQvXo1kSoSIF7fURRZ81D1jzBtLxwLmfxCPsofJNqWwdhy5vIvisX+TLlQ==} + engines: {node: '>= 16.0.0'} + peerDependencies: + napi-wasm: ^1.1.2 + peerDependenciesMeta: + napi-wasm: + optional: true + + '@parcel/source-map@2.1.1': + resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} + engines: {node: ^12.18.3 || >=14} + + '@parcel/transformer-babel@2.16.1': + resolution: {integrity: sha512-/wjA5RaptiRMp+IxYOMiGlKDaymiEpwMJOPFvW0kDjvhrl40SqGfP4GgY3jV3N2GdC5jBpesDvo2RYd4/xaT9g==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-css@2.16.1': + resolution: {integrity: sha512-4lcrJFE1EdZ2z0Px0ynH+Eajg1vIoZzdqqz2x3UgWrkYVM4WHpZe/w7r2OCafyuobhJR4XYKTqxIYdHo4xWpiw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-html@2.16.1': + resolution: {integrity: sha512-9OP4f5JSKeDMP1LGJx4BMcMTqiF+uc+3Sum4zrlMBN6EuhYlj02IpcsHMWxZuY0uow/nnwY+aB3X83Bk3AFC1Q==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-image@2.16.1': + resolution: {integrity: sha512-VyV8LMIK+7jtELpHky9MhD1hZl6YQ9F7LWIsPhrJ938HJEDwEQbZmiAJmMY9IV5kBOhhF3eGXSr/uSFA/F+Wcw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/transformer-js@2.16.1': + resolution: {integrity: sha512-GPQ3X9UqrlLDBg06u7rG+IZNT9Kl+7+6gY7qJkrw4If1JnmW5O+xVR8zHe/P+6BvxJnOg0iFqzUueZacYHmHzw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/transformer-json@2.16.1': + resolution: {integrity: sha512-LdRdPZiBPvSKHr0KeDnLpGxqPen1OV3nvkrjZex28TluaiHFLPOCC4AQOcJ4xhDNPCzt1bONjJ6QhkYjfogNqw==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-node@2.16.1': + resolution: {integrity: sha512-gclbMgvT8jNyTMFb5PeH0wni8N66dGMWgy381HZrRbkcb4KAw+PGLznrDng72Qyo/OxvEwK/IVkACz6EVoBygA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-postcss@2.16.1': + resolution: {integrity: sha512-fw252N0Lx3sZ2+XwiwhAD1350k5wx0Ez4c83wm8cVMsMSV4qW5LHFmfh2+2iHYxbUj0vqCPCmo1hoiNvmixqKg==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-posthtml@2.16.1': + resolution: {integrity: sha512-QUdA4Q3nw2WPPkFeVzvTxq4tOkAxOmm1miP8FjXTeM6kOoYI296HIhqqMhiXj6BZ4J+zc/J+WpUCkYFDfEWScA==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-raw@2.16.1': + resolution: {integrity: sha512-wiNtbiXsXpdHNO1hGqTQNYQKKuwGcfz7pL/3Em+ucyqeaURXhRQVs5QIwCGIvHiVlS/5OrxPoVWSNA6d0oicAg==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-react-refresh-wrap@2.16.1': + resolution: {integrity: sha512-mUIA80/KtT3lz1Zep0t5VDqndSg0pqnkVdpBAn3QUABtT/2KR6Kr6YxFsxGAAN0BZ+Xnx92uPmQjhlkviVAk6g==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/transformer-svg@2.16.1': + resolution: {integrity: sha512-OBB0kDjDAAgNzcVqxo/igd+iQL3EDbo8C36JzvH07zR72OXErAdJhTdgtfRq4fqFtMyLyBLT/s3Z37c1GzLoCQ==} + engines: {node: '>= 16.0.0', parcel: ^2.16.1} + + '@parcel/types-internal@2.16.1': + resolution: {integrity: sha512-HVCHm0uFyJMsu30bAfm/pd0RNsXRWX0mUXaDHzGJRZ2Yer53JA6elRwkgrPz1KosBA+OuNU/G8atXfCxPMXdKw==} + + '@parcel/types-internal@2.16.4': + resolution: {integrity: sha512-PE6Qmt5cjzBxX+6MPLiF7r+twoC+V9Skt3zyuBQ+H1c0i9o07Bbz2NKX10nvlPukfmW6Fu/1RvTLkzBZR1bU6A==} + + '@parcel/types@2.16.1': + resolution: {integrity: sha512-RFeomuzV/0Ze0jyzzx0u/eB4bXX6ISxrARA3k/3c7MQ+jaoY67+ELd8FwPV6ZmLqvvYIFdGiCZl6ascCABKwgg==} + + '@parcel/types@2.16.4': + resolution: {integrity: sha512-ctx4mBskZHXeDVHg4OjMwx18jfYH9BzI/7yqbDQVGvd5lyA+/oVVzYdpele2J2i2sSaJ87cA8nb57GDQ8kHAqA==} + + '@parcel/utils@2.16.1': + resolution: {integrity: sha512-aoY6SCfAY7X6L39PFOsWNNcAobmJr4AJEgco+PJ2UAPFiHhkBZfUofXCwna5GHH5uqXZx6u3rAHiCUrM3bEDXg==} + engines: {node: '>= 16.0.0'} + + '@parcel/utils@2.16.4': + resolution: {integrity: sha512-lkmxQHcHyOWZLbV8t+h2CGZIkPiBurLm/TS5wNT7+tq0qt9KbVwL7FP2K93TbXhLMGTmpI79Bf3qKniPM167Mw==} + engines: {node: '>= 16.0.0'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-android-arm64@2.5.6': + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-arm64@2.5.6': + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.6': + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-freebsd-x64@2.5.6': + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-glibc@2.5.6': + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm-musl@2.5.6': + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-glibc@2.5.6': + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-musl@2.5.6': + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-glibc@2.5.6': + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-musl@2.5.6': + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-arm64@2.5.6': + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.6': + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.6': + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@parcel/watcher@2.5.6': + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} + engines: {node: '>= 10.0.0'} + + '@parcel/workers@2.16.1': + resolution: {integrity: sha512-yEUAjBrSgo5MYAAQbncYbw1m9WrNiJs+xKdfdHNUrOHlT7G+v62HJAZJWJsvyGQBE2nchSO+bEPgv+kxAF8mIA==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.1 + + '@parcel/workers@2.16.4': + resolution: {integrity: sha512-dkBEWqnHXDZnRbTZouNt4uEGIslJT+V0c8OH1MPOfjISp1ucD6/u9ET8k9d/PxS9h1hL53og0SpBuuSEPLDl6A==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@parcel/core': ^2.16.4 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@playwright/test@1.56.1': + resolution: {integrity: sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==} + engines: {node: '>=18'} + hasBin: true + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@puppeteer/browsers@2.10.13': + resolution: {integrity: sha512-a9Ruw3j3qlnB5a/zHRTkruppynxqaeE4H9WNj5eYGRWqw0ZauZ23f4W2ARf3hghF5doozyD+CRtt7XSYuYRI/Q==} + engines: {node: '>=18'} + hasBin: true + + '@ramda/indexby@0.26.1': + resolution: {integrity: sha512-UU9s+bQWo6awQPx4qUBcn8ThEs05h5z7vd/M//E4l0Trs97uBSoKyUk60OZPJJwQEIAX4ZrBPhCFrZ3y2txQ3w==} + + '@rc-component/async-validator@5.0.4': + resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==} + engines: {node: '>=14.x'} + + '@rc-component/color-picker@2.0.1': + resolution: {integrity: sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/context@1.4.0': + resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/mini-decimal@1.1.0': + resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} + engines: {node: '>=8.x'} + + '@rc-component/mutate-observer@1.1.0': + resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/portal@1.1.2': + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/qrcode@1.1.0': + resolution: {integrity: sha512-ABA80Yer0c6I2+moqNY0kF3Y1NxIT6wDP/EINIqbiRbfZKP1HtHpKMh8WuTXLgVGYsoWG2g9/n0PgM8KdnJb4Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/tour@1.15.1': + resolution: {integrity: sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/trigger@2.3.0': + resolution: {integrity: sha512-iwaxZyzOuK0D7lS+0AQEtW52zUWxoGqTGkke3dRyb8pYiShmRpCjB/8TzPI4R6YySCH7Vm9BZj/31VPiiQTLBg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@react-aria/actiongroup@3.7.21': + resolution: {integrity: sha512-OKcOOTCnbTGj/ItFH8p3O/2mK/Dbv1Y0PfmWku1jxXv20HaHz3DnU4jjFzZJZBDT4rYBFCJw+f9DhxmnA8hIcA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/autocomplete@3.0.0-rc.3': + resolution: {integrity: sha512-vemf7h3hvIDk3MxiiPryysfYgJDg8R72X46dRIeg0+cXKYxjPYou64/DTucSV2z5J6RC5JalINu0jIDaLhEILw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/breadcrumbs@3.5.29': + resolution: {integrity: sha512-rKS0dryllaZJqrr3f/EAf2liz8CBEfmL5XACj+Z1TAig6GIYe1QuA3BtkX0cV9OkMugXdX8e3cbA7nD10ORRqg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/button@3.14.2': + resolution: {integrity: sha512-VbLIA+Kd6f/MDjd+TJBUg2+vNDw66pnvsj2E4RLomjI9dfBuN7d+Yo2UnsqKVyhePjCUZ6xxa2yDuD63IOSIYA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/calendar@3.9.2': + resolution: {integrity: sha512-uSLxLgOPRnEU4Jg59lAhUVA+uDx/55NBg4lpfsP2ynazyiJ5LCXmYceJi+VuOqMml7d9W0dB87OldOeLdIxYVA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/checkbox@3.16.2': + resolution: {integrity: sha512-29Mj9ZqXioJ0bcMnNGooHztnTau5pikZqX3qCRj5bYR3by/ZFFavYoMroh9F7s/MbFm/tsKX+Sf02lYFEdXRjA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/collections@3.0.0': + resolution: {integrity: sha512-vCFztpsl1AYjQn3lH7CwzYiiRAGfnm7+EXaXIt7yS4O6YC8C3FfOBf3jdxcFjE5u8CEfiL4X+4ABkfio10nneg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/color@3.1.2': + resolution: {integrity: sha512-jCC+Q7rAQGLQBkHjkPAeDuGYuMbc4neifjlNRiyZ9as1z4gg63H8MteoWYYk6K4vCKKxSixgt8MfI29XWMOWPQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/combobox@3.14.0': + resolution: {integrity: sha512-z4ro0Hma//p4nL2IJx5iUa7NwxeXbzSoZ0se5uTYjG1rUUMszg+wqQh/AQoL+eiULn7rs18JY9wwNbVIkRNKWA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/datepicker@3.15.2': + resolution: {integrity: sha512-th078hyNqPf4P2K10su/y32zPDjs3lOYVdHvsL9/+5K1dnTvLHCK5vgUyLuyn8FchhF7cmHV49D+LZVv65PEpQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/dialog@3.5.31': + resolution: {integrity: sha512-inxQMyrzX0UBW9Mhraq0nZ4HjHdygQvllzloT1E/RlDd61lr3RbmJR6pLsrbKOTtSvDIBJpCso1xEdHCFNmA0Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/disclosure@3.1.0': + resolution: {integrity: sha512-5996BeBpnj+yKXYysz+UuhFQxGFPvaZZ3zNBd052wz/i+TVFVGSqqYJ6cwZyO1AfBR8zOT0ZIiK4EC3ETwSvtQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/dnd@3.11.3': + resolution: {integrity: sha512-MyTziciik1Owz3rqDghu0K3ZtTFvmj/R2ZsLDwbU9N4hKqGX/BKnrI8SytTn8RDqVv5LmA/GhApLngiupTAsXw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/focus@3.21.2': + resolution: {integrity: sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/form@3.1.2': + resolution: {integrity: sha512-R3i7L7Ci61PqZQvOrnL9xJeWEbh28UkTVgkj72EvBBn39y4h7ReH++0stv7rRs8p5ozETSKezBbGfu4UsBewWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/grid@3.14.5': + resolution: {integrity: sha512-XHw6rgjlTqc85e3zjsWo3U0EVwjN5MOYtrolCKc/lc2ItNdcY3OlMhpsU9+6jHwg/U3VCSWkGvwAz9hg7krd8Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/gridlist@3.14.1': + resolution: {integrity: sha512-keS03Am07aOn7RuNaRsMOyh0jscyhDn95asCVy4lxhl9A9TFk1Jw0o2L6q6cWRj1gFiKeacj/otG5H8ZKQQ2Wg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/i18n@3.12.13': + resolution: {integrity: sha512-YTM2BPg0v1RvmP8keHenJBmlx8FXUKsdYIEX7x6QWRd1hKlcDwphfjzvt0InX9wiLiPHsT5EoBTpuUk8SXc0Mg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/interactions@3.25.6': + resolution: {integrity: sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/label@3.7.22': + resolution: {integrity: sha512-jLquJeA5ZNqDT64UpTc9XJ7kQYltUlNcgxZ37/v4mHe0UZ7QohCKdKQhXHONb0h2jjNUpp2HOZI8J9++jOpzxA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/landmark@3.0.7': + resolution: {integrity: sha512-t8c610b8hPLS6Vwv+rbuSyljZosI1s5+Tosfa0Fk4q7d+Ex6Yj7hLfUFy59GxZAufhUYfGX396fT0gPqAbU1tg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/link@3.8.6': + resolution: {integrity: sha512-7F7UDJnwbU9IjfoAdl6f3Hho5/WB7rwcydUOjUux0p7YVWh/fTjIFjfAGyIir7MJhPapun1D0t97QQ3+8jXVcg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/listbox@3.15.0': + resolution: {integrity: sha512-Ub1Wu79R9sgxM7h4HeEdjOgOKDHwduvYcnDqsSddGXgpkL8ADjsy2YUQ0hHY5VnzA4BxK36bLp4mzSna8Qvj1w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/live-announcer@3.4.4': + resolution: {integrity: sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA==} + + '@react-aria/menu@3.19.3': + resolution: {integrity: sha512-52fh8y8b2776R2VrfZPpUBJYC9oTP7XDy+zZuZTxPEd7Ywk0JNUl5F92y6ru22yPkS13sdhrNM/Op+V/KulmAg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/meter@3.4.27': + resolution: {integrity: sha512-andOOdJkgRJF9vBi5VWRmFodK+GT+5X1lLeNUmb4qOX8/MVfX/RbK72LDeIhd7xC7rSCFHj3WvZ198rK4q0k3w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/numberfield@3.12.2': + resolution: {integrity: sha512-M2b+z0HIXiXpGAWOQkO2kpIjaLNUXJ5Q3/GMa3Fkr+B1piFX0VuOynYrtddKVrmXCe+r5t+XcGb0KS29uqv7nQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/overlays@3.30.0': + resolution: {integrity: sha512-UpjqSjYZx5FAhceWCRVsW6fX1sEwya1fQ/TKkL53FAlLFR8QKuoKqFlmiL43YUFTcGK3UdEOy3cWTleLQwdSmQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/progress@3.4.27': + resolution: {integrity: sha512-0OA1shs1575g1zmO8+rWozdbTnxThFFhOfuoL1m7UV5Dley6FHpueoKB1ECv7B+Qm4dQt6DoEqLg7wsbbQDhmg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/radio@3.12.2': + resolution: {integrity: sha512-I11f6I90neCh56rT/6ieAs3XyDKvEfbj/QmbU5cX3p+SJpRRPN0vxQi5D1hkh0uxDpeClxygSr31NmZsd4sqfg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/searchfield@3.8.9': + resolution: {integrity: sha512-Yt2pj8Wb5/XsUr2T0DQqFv+DlFpzzWIWnNr9cJATUcWV/xw6ok7YFEg9+7EHtBmsCQxFFJtock1QfZzBw6qLtQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/select@3.17.0': + resolution: {integrity: sha512-q5ZuyAn5jSOeI0Ys99951TaGcF4O7u1SSBVxPMwVVXOU8ZhToCNx+WG3n/JDYHEjqdo7sbsVRaPA7LkBzBGf5w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/selection@3.26.0': + resolution: {integrity: sha512-ZBH3EfWZ+RfhTj01dH8L17uT7iNbXWS8u77/fUpHgtrm0pwNVhx0TYVnLU1YpazQ/3WVpvWhmBB8sWwD1FlD/g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/separator@3.4.13': + resolution: {integrity: sha512-0NlcrdBfQbcjWEXdHl3+uSY1272n2ljT1gWL2RIf6aQsQWTZ0gz0rTgRHy0MTXN+y+tICItUERJT4vmTLtIzVg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/slider@3.8.2': + resolution: {integrity: sha512-6KyUGaVzRE4xAz1LKHbNh1q5wzxe58pdTHFSnxNe6nk1SCoHw7NfI4h2s2m6LgJ0megFxsT0Ir8aHaFyyxmbgg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/spinbutton@3.6.19': + resolution: {integrity: sha512-xOIXegDpts9t3RSHdIN0iYQpdts0FZ3LbpYJIYVvdEHo9OpDS+ElnDzCGtwZLguvZlwc5s1LAKuKopDUsAEMkw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/ssr@3.9.10': + resolution: {integrity: sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==} + engines: {node: '>= 12'} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/switch@3.7.8': + resolution: {integrity: sha512-AfsUq1/YiuoprhcBUD9vDPyWaigAwctQNW1fMb8dROL+i/12B+Zekj8Ml+jbU69/kIVtfL0Jl7/0Bo9KK3X0xQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/table@3.17.8': + resolution: {integrity: sha512-bXiZoxTMbsqUJsYDhHPzKc3jw0HFJ/xMsJ49a0f7mp5r9zACxNLeIU0wJ4Uvx37dnYOHKzGliG+rj5l4sph7MA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/tabs@3.10.8': + resolution: {integrity: sha512-sPPJyTyoAqsBh76JinBAxStOcbjZvyWFYKpJ9Uqw+XT0ObshAPPFSGeh8DiQemPs02RwJdrfARPMhyqiX8t59A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/tag@3.7.2': + resolution: {integrity: sha512-JV679P5r4DftbqyNBRt7Nw9mP7dxaKPfikjyQuvUoEOa06wBLbM/hU9RJUPRvqK+Un6lgBDAmXD9NNf4N2xpdw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/textfield@3.18.2': + resolution: {integrity: sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/toast@3.0.8': + resolution: {integrity: sha512-rfJIms6AkMyQ7ZgKrMZgGfPwGcB/t1JoEwbc1PAmXcAvFI/hzF6YF7ZFDXiq38ucFsP9PnHmbXIzM9w4ccl18A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/toggle@3.12.2': + resolution: {integrity: sha512-g25XLYqJuJpt0/YoYz2Rab8ax+hBfbssllcEFh0v0jiwfk2gwTWfRU9KAZUvxIqbV8Nm8EBmrYychDpDcvW1kw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/toolbar@3.0.0-beta.21': + resolution: {integrity: sha512-yRCk/GD8g+BhdDgxd3I0a0c8Ni4Wyo6ERzfSoBkPkwQ4X2E2nkopmraM9D0fXw4UcIr4bnmvADzkHXtBN0XrBg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/tooltip@3.8.8': + resolution: {integrity: sha512-CmHUqtXtFWmG4AHMEr9hIVex+oscK6xcM2V47gq9ijNInxe3M6UBu/dBdkgGP/jYv9N7tzCAjTR8nNIHQXwvWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/tree@3.1.4': + resolution: {integrity: sha512-6pbFeN0dAsCOrFGUKU39CNjft20zCAjLfMqfkRWisL+JkUHI2nq6odUJF5jJTsU1C+1951+3oFOmVxPX+K+akQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/utils@3.31.0': + resolution: {integrity: sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/virtualizer@4.1.10': + resolution: {integrity: sha512-s0xOFh602ybTWuDrV/i6fV7Pz7vYghsY7F/RpYL/5IX9qCZ5C1FWFePpVktQAZghnd3ljH8hS8DULPeDfVLCrg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/visually-hidden@3.8.28': + resolution: {integrity: sha512-KRRjbVVob2CeBidF24dzufMxBveEUtUu7IM+hpdZKB+gxVROoh4XRLPv9SFmaH89Z7D9To3QoykVZoWD0lan6Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/accordion@3.0.13': + resolution: {integrity: sha512-L5w5NFOp6TpAG4HZjHv0xO1kXErve/qC1OdIiALmlyO+ooRqIzWSnI6b1piPrfoiwbsY8i2BRKCYiSEUQAUJ0A==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/actionbar@3.6.14': + resolution: {integrity: sha512-l6l4LgTblwZwAzuLePsC2YMfTCRRtk+jo+DDyxFur+Y7jObmIZKRYkRHOODb75juDTUYB3dYPCCoDPGIafuk4A==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/actiongroup@3.11.4': + resolution: {integrity: sha512-Z4kdT//GgK0z53WlqAQI2P+Ah9QiTvQuXiWz6E7qRWuF/MZuWAuc1tzY6xkV8Na/JXgHDdZCu5lxa5oWoaDVNA==} + peerDependencies: + '@react-spectrum/provider': ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/avatar@3.0.26': + resolution: {integrity: sha512-MHi43n9Gvi/3wtU7hqs5/2hPide5HtauqQZBSkzLPZf1VhaLhsnf7P2y2fHkZMwbcuO7O+IzwPDAkh+Ij1PDtw==} + peerDependencies: + '@react-spectrum/provider': ^3.2.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/badge@3.1.30': + resolution: {integrity: sha512-mDdMOJoT9ouhN7H776BaWqiAKkaeDNSmFXXIJWIufYE8PCilhHT1kkHUUYh7r4WgW1zdaiZPoSsl/3KjkkSJEA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/breadcrumbs@3.9.24': + resolution: {integrity: sha512-VwI0bYyFU9mEEfiuIljkOsgAtcqpc1UmUsgaFhNk1F478UOmo4PXwAKbnCyNVGYadLYOoCujf3vLPE4v47prKA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/button@3.17.4': + resolution: {integrity: sha512-erjFJSpsAan3uVgmukJQSOffmOojaXIphSooqBtnHzXIw2ksQM4uRdorxjCrc+XRnhYRRNDD3+qQ0To6/YJJ9g==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/buttongroup@3.6.26': + resolution: {integrity: sha512-sFyzpfa4jVCL5FjvFPSM1kir4JjLB0VENz7SRlarK8Y87Gbk6d67HlukMiJsREpt8KXAvXlm5S8CkaseKIIUlg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/calendar@3.7.8': + resolution: {integrity: sha512-8b26yH7k44g2Ci4iHyxhdHvHkFyWUpbIseiROm8etAMCn1NHjFbi0AI738+2KtFVNGBtKDwKB6u0FdiWKDpEUg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/checkbox@3.10.4': + resolution: {integrity: sha512-+BAj2z1IjoVRDARjWZ2khRTt+NhbJ8HPluQB3z18GIJu4cP8vhJQZ/c1ZbVxoatE3f0fCbUuk8wcrdJqHiM1Zw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/color@3.1.4': + resolution: {integrity: sha512-orLXEMx4DVbqtM+tHtP10/OSkoe8xNfnq4U60n72/24qHOmg67yRCcFPJbm7PpnDHEniXyiZGHBd05v0Ox7onQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/combobox@3.16.4': + resolution: {integrity: sha512-v7PhDkza9XsVDljH/P5zdFQ6NWd+lMRnwRzFwCubbxNsqQBH7Ye9ll2r/nDrdp4NV0k2xXjdWPCz1jalGWuPVw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/contextualhelp@3.6.28': + resolution: {integrity: sha512-bVr0552RduPJJ1UhzTW56S4UxrILseq8zE2qjO5JZfIdac3bFkqavq1eh7amU9D0GEBnSeVBqnuzkYcHcaeGOw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/datepicker@3.14.8': + resolution: {integrity: sha512-6Gr6VCglkhBP40bmAxbwt6vG/DCOitrcScBkatXoMFABvcwzB+S2lRSdFDHmYHLNTlg33aoG6+mxTL3aqTsyBQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/dialog@3.9.4': + resolution: {integrity: sha512-Hn+coXEwLEqq36SEfCb/3CN76m7d4XhzCuWT1QuNUjvNN4+T5QyVhqe/5vGp5TYarvCxpiwTWr1F6e+zLCUuUg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/divider@3.5.27': + resolution: {integrity: sha512-qnTItv5Tatv7Q2AL8h92nTtMtQtKRmYAQa6xJKERs2gI3o1RIX6+BO2hwxi1tSuzpVRBKTNvfSjI+I6fwKGlPw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/dnd@3.6.2': + resolution: {integrity: sha512-pAeiWAdPVdzCvLAYF5tmkZ8/dfS0SQSTNRamwYeFtgL7mvsdni67lExdPbQkQie/qqnCTdVNVd+gzkHC337OYA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/dropzone@3.0.18': + resolution: {integrity: sha512-V98OSZz8SoVChKrlw6xkiyeqjVONGS35J4B+SrBasp5TRoNZiGVagfCAzkvx9exNkRiSls/N843a1pC+vdEdHg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/filetrigger@3.0.18': + resolution: {integrity: sha512-Gq+fTTEW4F/PzaTcMvkqcTeDWyqnxSqSbT5BfRJLncVVk51Mq1dylZhqlc29jypWqwrlaGF3Y8NdzNVj+Ti1AQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/form@3.7.19': + resolution: {integrity: sha512-AyqTuVXQeqZf4NtYYBwFJNWG2GgkrPshX8KhF/3vEFCmrUDv/zY9U9wU0i3TR2wAtGNDOV4rGl6T5D6Ue5AJfw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/icon@3.8.9': + resolution: {integrity: sha512-jVqWmRUJ32iIwReeE0/Q+OPrM0nSONWOlIETCPir8yU1mPqHm3ly1k4jcaIw0TcIGEnQUR88sW15l5zdl5xWLQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/illustratedmessage@3.5.14': + resolution: {integrity: sha512-DGwbvrqXs8WG3j9/lq2JXjT8KAgCtSY6s0KGkTh6GtCwZujlrvHDm2/Fb4ESyEEleGkbtEMmcLVipJvb5ZSBrg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/image@3.6.2': + resolution: {integrity: sha512-coJnlmwha2TAXq/Qm2refAbYENI41fb8W1gdFRV69PszncGkhCH1LyRDDdVqxcbc8Y93oinuxME1YzDZjcp7fQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/inlinealert@3.2.20': + resolution: {integrity: sha512-S106pogLXI8pHz+zTxw+DgFXQN7F1+cwItZ6vsqFJmi95cZOhlcyW6YR0fKLhF3CHrXgtN0YqUDCSidhV9B5/Q==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/label@3.16.19': + resolution: {integrity: sha512-oN9eT8DctOy1AtNZuhEcgCZZPSejOx4SC0g5rG50fD1riYBDUMmYiddLJDbeKgYY5Sgp+/sgiVR50ivnbUQDxg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/labeledvalue@3.2.7': + resolution: {integrity: sha512-oT4DQr+fVnG0EHL5RN6iOMvdwODhwnHK6+r2sVVqd1B57JsUjlZXXT0jvkbP6NuQPaSN9q8cokvGKWgUzjV9Fw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/layout@3.6.19': + resolution: {integrity: sha512-EPrJtK19zjeg8uVKZVMaSfC/E7KyUS1OfqB3Leq1LjdgeIHiFt/ydSbsB4OrRhWWr2XVdF16rXwYtV518u+/8A==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/link@3.6.22': + resolution: {integrity: sha512-8ADG2bHOPqrjbTFIKtmjQ5s6FZKK+TR06pGsyV0pXBcbmsHFvX43TR6u1Elt2aVHfqaUcN0917zGgqRzWtr1xQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/list@3.10.8': + resolution: {integrity: sha512-vMWDYCXN4WyyBuaGzYdc9BwikT8COqk5uxX0KQ10V6tFgkShPH922rspZNH5nNb7Fwp6QFBuPlWkiIK6UgAVmA==} + peerDependencies: + '@react-spectrum/provider': ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/listbox@3.15.8': + resolution: {integrity: sha512-EjX2yhozZC8at2NIRnjnzqznk5mQKiZMABxrCIacZ2QNkM+foTsvTbzYQ9RxGn6iXYJlaQ+i9Ij2xjuNsRMbcQ==} + peerDependencies: + '@react-spectrum/provider': ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/menu@3.22.8': + resolution: {integrity: sha512-XdqQhrjCOLI2imiLo/ryxKWOlpSxQepnEDul0SHTFMSKC4L7qzHHZgn007EIHkl/Z57e/DxovmEvx9WVvdibyA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/meter@3.5.14': + resolution: {integrity: sha512-0ipcZsJH2li4L16ZIAdhvgzsDUCYE7aKP+W/FDun3YbWFx2LK97vTlW8KRMQwTkQh6rVYRF9FD6+rINXH2GkRw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/numberfield@3.10.2': + resolution: {integrity: sha512-pCN0U+TDryhnBDRthdyKIlILVcRM5XzptoWiL+mGhJRL6tWtxFiSYIPmQm/xPZglA0I+jZKqUYj41JY+2MWuig==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/overlays@5.9.0': + resolution: {integrity: sha512-5dngnWBC768kxI/SlPI+1hDk46mRCA3EJwnF4JiKrnG7u2z4Zn+/lc3+CkW9TZz1TTfz+7NmeKi4k/W10Xg/QQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/picker@3.16.4': + resolution: {integrity: sha512-FDvXOPcz2UEsZk55p3VrZLNgaReO9BPiLZlVYzMLFeya3DrMF+lTx1MVtgPULuHEVV04k/0Ho5hd87L6etYOOA==} + peerDependencies: + '@react-spectrum/provider': ^3.1.4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/progress@3.7.20': + resolution: {integrity: sha512-nEHXUCylaNxi+91w/qbQD9Ig2bjmr3bFxWm9cKkZ7fXdYMJmLO9F29DYo6UbsynoXWL3GtiLIlRde4kXI3wIpw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/provider@3.10.11': + resolution: {integrity: sha512-fN1K/7heWTp6BU8deR+kbIQ8ahnvYBwc1XScTFvJjasNYUMDYjYePG9F3jKVjH7P5ZBcy1ipPEPubgUNkuF1TQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/radio@3.7.21': + resolution: {integrity: sha512-MIIw9nX/I8KfdxYblO8cTsRY3qVCADqGyy1pZJcmMpmbFBk+akPK3+kYecdBh4ma6E+Dw/jM15Ony5YegbfzJg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/searchfield@3.8.23': + resolution: {integrity: sha512-oqCV6PGFPPkZXOQrwO2O3hNGKYOsnF3AKG0KRfCBC6q/5DbKIOgdQ+Aj/DpZgeCoQtcfeCcylncDZtcRNX4s5w==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/slider@3.8.2': + resolution: {integrity: sha512-a6THREqF2M6MIMtoew7ll8CLC4gtUlyeM30vMvoSxXvUX6X52lS63dP1oLfA94rSxgenofIhKcvl80D5847okg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/statuslight@3.5.26': + resolution: {integrity: sha512-DqDpX9Ryse+t/RezgqYB4JqNY8rf4Ax+OdFvddolYv/ocB6sqh+PCb5/GhRunKfV+sNMQ/2DWJoe6Jv/juXl9g==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/switch@3.6.6': + resolution: {integrity: sha512-O2SE/s8iDgwRY4aUXnR3TeogTyIt2skDugKPnHJ7PoWufLz+4JSUYz01rNM7BGTe20FHrPre7kX/YGXdAjANVw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/table@3.17.8': + resolution: {integrity: sha512-/N3fW0yfevkeFDmfbH2EyuJDTsPNcdJG+APVYAn7oakan0m7neXm6DWaskAE96Jv2GLi/gtu46TUxq4w7/Zdiw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/tabs@3.8.27': + resolution: {integrity: sha512-xOiiF7l6g0ynB4JZVUd8YirmRhjOX8KEi8Pm/oMcU/PjklnqTN5jBSkuQhfCyiS5x7ZOu+kcqJQlllu76UmNGw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/tag@3.3.7': + resolution: {integrity: sha512-7uH07CDzObqr38ouKtRO3FpelguNyR4gFj3Pe+HiHQb7Pm2f/PqY/S8h8b/ODsOg2KK6rG/9/3oAg2AVyVaZSw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/text@3.5.22': + resolution: {integrity: sha512-BE0Hgl7bHe0bG+QQYEFlWIb4I+gMx/a9UixkN3hzgZdgPzZWQFYC3lTlFSyxlA+SwEhr2isa3/BH8tnDQE7TSA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/textfield@3.14.2': + resolution: {integrity: sha512-CTnjfYXJ/IIJJ20xZI+AcrSYR8F0H8Yn1mz95jbXBBCRwAvzKcF8G5++kQSZgC8R8rXhSvtk/YKhUO9MQLHusg==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/theme-dark@3.5.22': + resolution: {integrity: sha512-LkhP5I1j5zJTEovZQ908hWc8OOi/qYNaHfXpj5YlLFnqMj/oQW4H/iGCqn6Mq24a/h+i1gEZRb8t64c/1x7RQA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/theme-default@3.5.22': + resolution: {integrity: sha512-0i6bv4nAlRtBNO2QN2hk42KKYeffjPZEJK4YXzVLji0EpZwVjyq4JqtcOqeI5zZh4YlPhVbv59iaHycG0vHl1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/theme-light@3.4.22': + resolution: {integrity: sha512-Z7du1UwOT9XW0sXM01NLzQKrS8zNhvGB/rzTRl6QHkqs8SCHsetY0OWGXmWy77rNF7XbVamykKu0k03Gc26YUw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/toast@3.1.4': + resolution: {integrity: sha512-Efzfrci8xfjcjrO7B7VYS0p7mY7UnRNaavJmZLp5of1rZvgiqwYPiBcPsw0ry1x3MGU+t78d6zbbGY01UwcCjw==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/tooltip@3.7.11': + resolution: {integrity: sha512-dPfoWfqou28I5F2iX+Ih6vMd3y0kvPvIKEQ1nj6yBB4/v7eSNcI9uXho2yiKKPl7nSnG3FXMcw1pP53piedt2Q==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/tree@3.1.8': + resolution: {integrity: sha512-M9SeYPHLIX3E83K4O3OiFGwfd5vgBBBg2TZIJabs2uex1AxILhhBdrLkHHzdzarQyuMPHIl8osF5Aj1KAVa3Ew==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/utils@3.12.9': + resolution: {integrity: sha512-GQCa92OMaBS1vo5rNSbl70QgRz/FPVNqst2Xl1iRs+g4K0emSiHEpKvj0WnVa9wVwtN37YpNeWNY/mRtfx7U8g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/view@3.6.23': + resolution: {integrity: sha512-QzxJIZJV+Ythg/49hbLkdKVawBu1NJnifPinGj8KLMahcEBylOxWnbp26LA9lADdb5C1D+2gDxujcmzHu3u7OA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-spectrum/well@3.4.27': + resolution: {integrity: sha512-+vL9Iu/57gDjysW0dhpMVf1bcT7fxNuCbCObb3uZlwcXtFPeMe3TkII1qCOQxkv576KxA0P0EVhYj3oJci/HOA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/autocomplete@3.0.0-beta.3': + resolution: {integrity: sha512-YfP/TrvkOCp6j7oqpZxJSvmSeXn+XtbKSOiBOuo+m2zCIhW2ncThmDB9uAUOkpmikDv/LkGKni40RQE8USdGdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/calendar@3.9.0': + resolution: {integrity: sha512-U5Nf2kx9gDhJRxdDUm5gjfyUlt/uUfOvM1vDW2UA62cA6+2k2cavMLc2wNlXOb/twFtl6p0joYKHG7T4xnEFkg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/checkbox@3.7.2': + resolution: {integrity: sha512-j1ycUVz5JmqhaL6mDZgDNZqBilOB8PBW096sDPFaTtuYreDx2HOd1igxiIvwlvPESZwsJP7FVM3mYnaoXtpKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/collections@3.12.8': + resolution: {integrity: sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/color@3.9.2': + resolution: {integrity: sha512-F+6Do8W3yu/4n7MpzZtbXwVukcLTFYYDIUtpoR+Jl52UmAr9Hf1CQgkyTI2azv1ZMzj1mVrTBhpBL0q27kFZig==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/combobox@3.12.0': + resolution: {integrity: sha512-A6q9R/7cEa/qoQsBkdslXWvD7ztNLLQ9AhBhVN9QvzrmrH5B4ymUwcTU8lWl22ykH7RRwfonLeLXJL4C+/L2oQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/data@3.14.1': + resolution: {integrity: sha512-lDNc4gZ6kVZcrABeeQZPTTnP+1ykNylSvFzAC/Hq1fs8+s54xLRvoENWIyG+yK19N9TIGEoA0AOFG8PoAun43g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/datepicker@3.15.2': + resolution: {integrity: sha512-S5GL+W37chvV8knv9v0JRv0L6hKo732qqabCCHXzOpYxkLIkV4f/y3cHdEzFWzpZ0O0Gkg7WgeYo160xOdBKYg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/disclosure@3.0.8': + resolution: {integrity: sha512-/Ce/Z76y85eSBZiemfU/uEyXkBBa1RdfLRaKD13rnfUV7/nS3ae1VtNlsXgmwQjWv2pmAiSuEKYMbZfVL7q/lQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/dnd@3.7.1': + resolution: {integrity: sha512-O1JBJ4HI1rVNKuoa5NXiC5FCrCEkr9KVBoKNlTZU8/cnQselhbEsUfMglAakO2EuwIaM1tIXoNF5J/N5P+6lTA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/flags@3.1.2': + resolution: {integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==} + + '@react-stately/form@3.2.2': + resolution: {integrity: sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/grid@3.11.6': + resolution: {integrity: sha512-vWPAkzpeTIsrurHfMubzMuqEw7vKzFhIJeEK5sEcLunyr1rlADwTzeWrHNbPMl66NAIAi70Dr1yNq+kahQyvMA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/layout@4.5.1': + resolution: {integrity: sha512-Zk92HM6a8KFdyPzslhLCOmrrsvJ28+vFBisgiKMwVhe96cWlax1m9i4ktmO43xaUpSZkn06DRD/2k0d1x+Uwjw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/list@3.13.1': + resolution: {integrity: sha512-eHaoauh21twbcl0kkwULhVJ+CzYcy1jUjMikNVMHOQdhr4WIBdExf7PmSgKHKqsSPhpGg6IpTCY2dUX3RycjDg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/menu@3.9.8': + resolution: {integrity: sha512-bo0NOhofnTHLESiYfsSSw6gyXiPVJJ0UlN2igUXtJk5PmyhWjFzUzTzcnd7B028OB0si9w3LIWM3stqz5271Eg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/numberfield@3.10.2': + resolution: {integrity: sha512-jlKVFYaH3RX5KvQ7a+SAMQuPccZCzxLkeYkBE64u1Zvi7YhJ8hkTMHG/fmZMbk1rHlseE2wfBdk0Rlya3MvoNQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/overlays@3.6.20': + resolution: {integrity: sha512-YAIe+uI8GUXX8F/0Pzr53YeC5c/bjqbzDFlV8NKfdlCPa6+Jp4B/IlYVjIooBj9+94QvbQdjylegvYWK/iPwlg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/radio@3.11.2': + resolution: {integrity: sha512-UM7L6AW+k8edhSBUEPZAqiWNRNadfOKK7BrCXyBiG79zTz0zPcXRR+N+gzkDn7EMSawDeyK1SHYUuoSltTactg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/searchfield@3.5.16': + resolution: {integrity: sha512-MRfqT1lZ24r94GuFNcGJXsfijZoWjSMySCT60T6NXtbOzVPuAF3K+pL70Rayq/EWLJjS2NPHND11VTs0VdcE0Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/select@3.8.0': + resolution: {integrity: sha512-A721nlt0DSCDit0wKvhcrXFTG5Vv1qkEVkeKvobmETZy6piKvwh0aaN8iQno5AFuZaj1iOZeNjZ/20TsDJR/4A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/selection@3.20.6': + resolution: {integrity: sha512-a0bjuP2pJYPKEiedz2Us1W1aSz0iHRuyeQEdBOyL6Z6VUa6hIMq9H60kvseir2T85cOa4QggizuRV7mcO6bU5w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/slider@3.7.2': + resolution: {integrity: sha512-EVBHUdUYwj++XqAEiQg2fGi8Reccznba0uyQ3gPejF0pAc390Q/J5aqiTEDfiCM7uJ6WHxTM6lcCqHQBISk2dQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/table@3.15.1': + resolution: {integrity: sha512-MhMAgE/LgAzHcAn1P3p/nQErzJ6DiixSJ1AOt2JlnAKEb5YJg4ATKWCb2IjBLwywt9ZCzfm3KMUzkctZqAoxwA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/tabs@3.8.6': + resolution: {integrity: sha512-9RYxmgjVIxUpIsGKPIF7uRoHWOEz8muwaYiStCVeyiYBPmarvZoIYtTXcwSMN/vEs7heVN5uGCL6/bfdY4+WiA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/toast@3.1.2': + resolution: {integrity: sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/toggle@3.9.2': + resolution: {integrity: sha512-dOxs9wrVXHUmA7lc8l+N9NbTJMAaXcYsnNGsMwfXIXQ3rdq+IjWGNYJ52UmNQyRYFcg0jrzRrU16TyGbNjOdNQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/tooltip@3.5.8': + resolution: {integrity: sha512-gkcUx2ROhCiGNAYd2BaTejakXUUNLPnnoJ5+V/mN480pN+OrO8/2V9pqb/IQmpqxLsso93zkM3A4wFHHLBBmPQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/tree@3.9.3': + resolution: {integrity: sha512-ZngG79nLFxE/GYmpwX6E/Rma2MMkzdoJPRI3iWk3dgqnGMMzpPnUp/cvjDsU3UHF7xDVusC5BT6pjWN0uxCIFQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/utils@3.10.8': + resolution: {integrity: sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/virtualizer@4.4.4': + resolution: {integrity: sha512-ri8giqXSZOrznZDCCOE4U36wSkOhy+hrFK7yo/YVcpxTqqp3d3eisfKMqbDsgqBW+XTHycTU/xeAf0u9NqrfpQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/actionbar@3.1.19': + resolution: {integrity: sha512-1LrfA6xftrrn633kkbd5UVUo2RNDTFUwjSxlBJSo3n/4Q/mirl2mb5tTyl6/UI76IPFJEi6DQ+07VPA0tb4lbA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/actiongroup@3.4.21': + resolution: {integrity: sha512-7RkBITpUSsMnzzTpmNbMur0cgwW6tCEc5ChjkzFN12Uy8VTII74PP3i4HfyIbn3ufO5oRkVhw0CEeUrTtqWRJQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/autocomplete@3.0.0-alpha.35': + resolution: {integrity: sha512-Wv5eU4WixfJ4M+fqvJUQqliWPbw7/VldRlgoJhqAlPwlNyLlHYwv5tlA64AySDXHGcSMIbzcS38LaHm44wt0AQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/avatar@3.0.19': + resolution: {integrity: sha512-8QAH9o6MBCIQDLGxTAZDC2D69ziybcVshnxiWUsCZlqiIUcWEGG3a7h6g4oeQipmILT2B1kK4AH5RYEyelflBA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/badge@3.1.21': + resolution: {integrity: sha512-L69WZnP4238CKKcF7Z6cEcqy3ZZVKHiODzRHbdCBeApDQ9x2DrPYYhBPQ1I6kmczaXyBOIDCJCHpmM1yAK+cdg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/breadcrumbs@3.7.17': + resolution: {integrity: sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/button@3.14.1': + resolution: {integrity: sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/buttongroup@3.3.21': + resolution: {integrity: sha512-Cuczm9VPwRoVU3RBIbl6fqlrc2sNyeLyb5xqLeQmfwSuae6PPCTNWPGvjil0liwhOJlzQAleaEi3Q8WBvgT5xA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/calendar@3.8.0': + resolution: {integrity: sha512-ZDZgfZgbz1ydWOFs1mH7QFfX3ioJrmb3Y/lkoubQE0HWXLZzyYNvhhKyFJRS1QJ40IofLSBHriwbQb/tsUnGlw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/checkbox@3.10.2': + resolution: {integrity: sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/color@3.1.2': + resolution: {integrity: sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/combobox@3.13.9': + resolution: {integrity: sha512-G6GmLbzVkLW6VScxPAr/RtliEyPhBClfYaIllK1IZv+Z42SVnOpKzhnoe79BpmiFqy1AaC3+LjZX783mrsHCwA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/contextualhelp@3.2.22': + resolution: {integrity: sha512-AwNTvQdZqN6mGKOZbfYqeZLzpVqxefAKlE3VMzjWId6EvVxr1RvQmUhW28RFHMfAPmbaZlHICpuKatXCw0+TWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/datepicker@3.13.2': + resolution: {integrity: sha512-+M6UZxJnejYY8kz0spbY/hP08QJ5rsZ3aNarRQQHc48xV2oelFLX5MhAqizfLEsvyfb0JYrhWoh4z1xZtAmYCg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/dialog@3.5.22': + resolution: {integrity: sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/divider@3.3.21': + resolution: {integrity: sha512-bbV6js1I6VMFcr8prrJ/E8/MSd4UcXGJRApVOGAir5AsunoZM4WCmHuE99OgbTqV5lSxrQroL2TPi2KtHJwBqA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/form@3.7.16': + resolution: {integrity: sha512-Sb7KJoWEaQ/e4XIY+xRbjKvbP1luome98ZXevpD+zVSyGjEcfIroebizP6K1yMHCWP/043xH6GUkgEqWPoVGjg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/grid@3.3.6': + resolution: {integrity: sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/illustratedmessage@3.3.21': + resolution: {integrity: sha512-mpjHSaKs0caQSlNyx1EAqF6TuMPn+oRgKa5vOi/ONuzTcKyqaVbdljXQcNioUNwH0yHcsp4aTzNoeKlNY6Ho/A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/image@3.5.2': + resolution: {integrity: sha512-G1rjVbVdQ1OihWX+rFCf5WF/ArpN36iNKaXyG6hzTniEhIe5/BMLsp5xIX47g8peoxUXbo0Zh1fPWq6Y6pJWdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/label@3.9.15': + resolution: {integrity: sha512-NvbtB0d4dU/jPjL+JH500CAe8sqcCMl3DFXZBgyumehhM7/tEupumrQLeWaljgGDA6gcc3mWxeUWcT5zBrQuLQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/layout@3.3.27': + resolution: {integrity: sha512-+iUwPTJ3QGWO84mTwzO+bCFJkrRxwUZMK+VL4rMY2J/QvfhcbRWpdgjnbAQBq/8+7fbRqp9UliWjnagRzawK/A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/link@3.6.5': + resolution: {integrity: sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/listbox@3.7.4': + resolution: {integrity: sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/menu@3.10.5': + resolution: {integrity: sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/meter@3.4.13': + resolution: {integrity: sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/numberfield@3.8.15': + resolution: {integrity: sha512-97r92D23GKCOjGIGMeW9nt+/KlfM3GeWH39Czcmd2/D5y3k6z4j0avbsfx2OttCtJszrnENjw3GraYGYI2KosQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/overlays@3.9.2': + resolution: {integrity: sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/progress@3.5.16': + resolution: {integrity: sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/provider@3.8.13': + resolution: {integrity: sha512-z8hXswAQovSNIVIO0J6ft8/6uwWP40zE9U0f3V9sO6DyMFv27v38ANFV8RqNkm0DTXnTiIGvDk/JZgvWrz/lOg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/radio@3.9.2': + resolution: {integrity: sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/searchfield@3.6.6': + resolution: {integrity: sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/select@3.11.0': + resolution: {integrity: sha512-SzIsMFVPCbXE1Z1TLfpdfiwJ1xnIkcL1/CjGilmUKkNk5uT7rYX1xCJqWCjXI0vAU1xM4Qn+T3n8de4fw6HRBg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/shared@3.32.1': + resolution: {integrity: sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/slider@3.8.2': + resolution: {integrity: sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/statuslight@3.3.21': + resolution: {integrity: sha512-7djKwhYqs44K46VaiRFEwnA5r6QNymzeOPlE35Hzj5mE8QDW+xWBE1k78t0GAKpTCbUj/vFHBlyVDCvbj8zoCQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/switch@3.5.15': + resolution: {integrity: sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/table@3.13.4': + resolution: {integrity: sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tabs@3.3.19': + resolution: {integrity: sha512-fE+qI43yR5pAMpeqPxGqQq9jDHXEPqXskuxNHERMW0PYMdPyem2Cw6goc5F4qeZO3Hf6uPZgHkvJz2OAq7TbBw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/text@3.3.21': + resolution: {integrity: sha512-rjCqfTljn6KEq18h5tpdPIqoYLoLg05kfldr0eYXZknLsVI6smT3dCWmLb1KUuA9irji7PIh1Eq4u44Ebls3Og==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/textfield@3.12.6': + resolution: {integrity: sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tooltip@3.4.21': + resolution: {integrity: sha512-ugGHOZU6WbOdeTdbjnaEc+Ms7/WhsUCg+T3PCOIeOT9FG02Ce189yJ/+hd7oqL/tVwIhEMYJIqSCgSELFox+QA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/view@3.4.21': + resolution: {integrity: sha512-5NWEBtmmxWnxElOtt298y5sN2hqnTkq7TeRJo+kwH/0zfFiwiGMldoXjuT377j7ogQDxrdBkuOVTYHB67WuuoQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/well@3.3.21': + resolution: {integrity: sha512-V54kvDjD3Rsr2ab8/68LGtv/7Vq2PphpIlOzZZpWqBOav/TfDRxR6sm3ypiteJaPnvV0t2tLk3Z6ntNzItCKdQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@rematch/core@2.2.0': + resolution: {integrity: sha512-Sj3nC/2X+bOBZeOf4jdJ00nhCcx9wLbVK9SOs6eFR4Y1qKXqRY0hGigbQgfTpCdjRFlwTHHfN3m41MlNvMhDgw==} + engines: {node: '>=10'} + peerDependencies: + redux: '>=4' + + '@rolldown/pluginutils@1.0.0-beta.47': + resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==} + + '@rollup/plugin-babel@6.1.0': + resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true + + '@rollup/plugin-commonjs@29.0.0': + resolution: {integrity: sha512-U2YHaxR2cU/yAiwKJtJRhnyLk7cifnQw0zUpISsocBDoHDJn+HTV74ABqnwr5bEgWUwFZC9oFL6wLe21lHu5eQ==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@0.4.4': + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.53.1': + resolution: {integrity: sha512-bxZtughE4VNVJlL1RdoSE545kc4JxL7op57KKoi59/gwuU5rV6jLWFXXc8jwgFoT6vtj+ZjO+Z2C5nrY0Cl6wA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.53.1': + resolution: {integrity: sha512-44a1hreb02cAAfAKmZfXVercPFaDjqXCK+iKeVOlJ9ltvnO6QqsBHgKVPTu+MJHSLLeMEUbeG2qiDYgbFPU48g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.53.1': + resolution: {integrity: sha512-usmzIgD0rf1syoOZ2WZvy8YpXK5G1V3btm3QZddoGSa6mOgfXWkkv+642bfUUldomgrbiLQGrPryb7DXLovPWQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.53.1': + resolution: {integrity: sha512-is3r/k4vig2Gt8mKtTlzzyaSQ+hd87kDxiN3uDSDwggJLUV56Umli6OoL+/YZa/KvtdrdyNfMKHzL/P4siOOmg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.53.1': + resolution: {integrity: sha512-QJ1ksgp/bDJkZB4daldVmHaEQkG4r8PUXitCOC2WRmRaSaHx5RwPoI3DHVfXKwDkB+Sk6auFI/+JHacTekPRSw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.53.1': + resolution: {integrity: sha512-J6ma5xgAzvqsnU6a0+jgGX/gvoGokqpkx6zY4cWizRrm0ffhHDpJKQgC8dtDb3+MqfZDIqs64REbfHDMzxLMqQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.53.1': + resolution: {integrity: sha512-JzWRR41o2U3/KMNKRuZNsDUAcAVUYhsPuMlx5RUldw0E4lvSIXFUwejtYz1HJXohUmqs/M6BBJAUBzKXZVddbg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.53.1': + resolution: {integrity: sha512-L8kRIrnfMrEoHLHtHn+4uYA52fiLDEDyezgxZtGUTiII/yb04Krq+vk3P2Try+Vya9LeCE9ZHU8CXD6J9EhzHQ==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.53.1': + resolution: {integrity: sha512-ysAc0MFRV+WtQ8li8hi3EoFi7us6d1UzaS/+Dp7FYZfg3NdDljGMoVyiIp6Ucz7uhlYDBZ/zt6XI0YEZbUO11Q==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.53.1': + resolution: {integrity: sha512-UV6l9MJpDbDZZ/fJvqNcvO1PcivGEf1AvKuTcHoLjVZVFeAMygnamCTDikCVMRnA+qJe+B3pSbgX2+lBMqgBhA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.53.1': + resolution: {integrity: sha512-UDUtelEprkA85g95Q+nj3Xf0M4hHa4DiJ+3P3h4BuGliY4NReYYqwlc0Y8ICLjN4+uIgCEvaygYlpf0hUj90Yg==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-gnu@4.53.1': + resolution: {integrity: sha512-vrRn+BYhEtNOte/zbc2wAUQReJXxEx2URfTol6OEfY2zFEUK92pkFBSXRylDM7aHi+YqEPJt9/ABYzmcrS4SgQ==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.53.1': + resolution: {integrity: sha512-gto/1CxHyi4A7YqZZNznQYrVlPSaodOBPKM+6xcDSCMVZN/Fzb4K+AIkNz/1yAYz9h3Ng+e2fY9H6bgawVq17w==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.53.1': + resolution: {integrity: sha512-KZ6Vx7jAw3aLNjFR8eYVcQVdFa/cvBzDNRFM3z7XhNNunWjA03eUrEwJYPk0G8V7Gs08IThFKcAPS4WY/ybIrQ==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.53.1': + resolution: {integrity: sha512-HvEixy2s/rWNgpwyKpXJcHmE7om1M89hxBTBi9Fs6zVuLU4gOrEMQNbNsN/tBVIMbLyysz/iwNiGtMOpLAOlvA==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.53.1': + resolution: {integrity: sha512-E/n8x2MSjAQgjj9IixO4UeEUeqXLtiA7pyoXCFYLuXpBA/t2hnbIdxHfA7kK9BFsYAoNU4st1rHYdldl8dTqGA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.53.1': + resolution: {integrity: sha512-IhJ087PbLOQXCN6Ui/3FUkI9pWNZe/Z7rEIVOzMsOs1/HSAECCvSZ7PkIbkNqL/AZn6WbZvnoVZw/qwqYMo4/w==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openharmony-arm64@4.53.1': + resolution: {integrity: sha512-0++oPNgLJHBblreu0SFM7b3mAsBJBTY0Ksrmu9N6ZVrPiTkRgda52mWR7TKhHAsUb9noCjFvAw9l6ZO1yzaVbA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.53.1': + resolution: {integrity: sha512-VJXivz61c5uVdbmitLkDlbcTk9Or43YC2QVLRkqp86QoeFSqI81bNgjhttqhKNMKnQMWnecOCm7lZz4s+WLGpQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.53.1': + resolution: {integrity: sha512-NmZPVTUOitCXUH6erJDzTQ/jotYw4CnkMDjCYRxNHVD9bNyfrGoIse684F9okwzKCV4AIHRbUkeTBc9F2OOH5Q==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.53.1': + resolution: {integrity: sha512-2SNj7COIdAf6yliSpLdLG8BEsp5lgzRehgfkP0Av8zKfQFKku6JcvbobvHASPJu4f3BFxej5g+HuQPvqPhHvpQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.53.1': + resolution: {integrity: sha512-rLarc1Ofcs3DHtgSzFO31pZsCh8g05R2azN1q3fF+H423Co87My0R+tazOEvYVKXSLh8C4LerMK41/K7wlklcg==} + cpu: [x64] + os: [win32] + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@spectrum-icons/illustrations@3.6.26': + resolution: {integrity: sha512-W4TUqvugo1r33Q7sgKRSnyZIgW61Y4c0SN7l7cdzOgMwH22aM+hTl+HP7Us+eY5W94HVPKBAoU65LEGSr+Y9vA==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@spectrum-icons/ui@3.6.20': + resolution: {integrity: sha512-6gJHB66B/1FyBW6FaSMtp+W8UW71NBvqtRSXfbr/tjO/nFXdHtt3n2VfR4yjlM8RlFcovrjUEYzOscj2hG8SbQ==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@spectrum-icons/workflow@4.2.25': + resolution: {integrity: sha512-ASebdYykGSqJanAht+3z4F4Qzuh6EfBham96nouvSL3fRb3pJ9TZH2lIZKjBfxXq8JAaRNh5d0AgO67XskpL5A==} + peerDependencies: + '@react-spectrum/provider': ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + + '@swc/core-darwin-arm64@1.15.1': + resolution: {integrity: sha512-vEPrVxegWIjKEz+1VCVuKRY89jhokhSmQ/YXBWLnmLj9cI08G61RTZJvdsIcjYUjjTu7NgZlYVK+b2y0fbh11g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-arm64@1.15.11': + resolution: {integrity: sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.1': + resolution: {integrity: sha512-z9QguKxE3aldvwKHHDg5OlKehasbJBF1lacn5CnN6SlrHbdwokXHFA3nIoO3Bh1Tw7bCgFtdIR4jKlTTn3kBZA==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.11': + resolution: {integrity: sha512-S52Gu1QtPSfBYDiejlcfp9GlN+NjTZBRRNsz8PNwBgSE626/FUf2PcllVUix7jqkoMC+t0rS8t+2/aSWlMuQtA==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.15.1': + resolution: {integrity: sha512-yS2FHA8E4YeiPG9YeYk/6mKiCWuXR5RdYlCmtlGzKcjWbI4GXUVe7+p9C0M6myRt3zdj3M1knmJxk52MQA9EZQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm-gnueabihf@1.15.11': + resolution: {integrity: sha512-lXJs8oXo6Z4yCpimpQ8vPeCjkgoHu5NoMvmJZ8qxDyU99KVdg6KwU9H79vzrmB+HfH+dCZ7JGMqMF//f8Cfvdg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.15.1': + resolution: {integrity: sha512-IFrjDu7+5Y61jLsUqBVXlXutDoPBX10eEeNTjW6C1yzm+cSTE7ayiKXMIFri4gEZ4VpXS6MUgkwjxtDpIXTh+w==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-arm64-gnu@1.15.11': + resolution: {integrity: sha512-chRsz1K52/vj8Mfq/QOugVphlKPWlMh10V99qfH41hbGvwAU6xSPd681upO4bKiOr9+mRIZZW+EfJqY42ZzRyA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-arm64-musl@1.15.1': + resolution: {integrity: sha512-fKzP9mRQGbhc5QhJPIsqKNNX/jyWrZgBxmo3Nz1SPaepfCUc7RFmtcJQI5q8xAun3XabXjh90wqcY/OVyg2+Kg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-arm64-musl@1.15.11': + resolution: {integrity: sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-x64-gnu@1.15.1': + resolution: {integrity: sha512-ZLjMi138uTJxb+1wzo4cB8mIbJbAsSLWRNeHc1g1pMvkERPWOGlem+LEYkkzaFzCNv1J8aKcL653Vtw8INHQeg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-gnu@1.15.11': + resolution: {integrity: sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-musl@1.15.1': + resolution: {integrity: sha512-jvSI1IdsIYey5kOITzyajjofXOOySVitmLxb45OPUjoNojql4sDojvlW5zoHXXFePdA6qAX4Y6KbzAOV3T3ctA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@swc/core-linux-x64-musl@1.15.11': + resolution: {integrity: sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@swc/core-win32-arm64-msvc@1.15.1': + resolution: {integrity: sha512-X/FcDtNrDdY9r4FcXHt9QxUqC/2FbQdvZobCKHlHe8vTSKhUHOilWl5EBtkFVfsEs4D5/yAri9e3bJbwyBhhBw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-arm64-msvc@1.15.11': + resolution: {integrity: sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.1': + resolution: {integrity: sha512-vfheiWBux8PpC87oy1cshcqzgH7alWYpnVq5jWe7xuVkjqjGGDbBUKuS84eJCdsWcVaB5EXIWLKt+11W3/BOwA==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.11': + resolution: {integrity: sha512-6XnzORkZCQzvTQ6cPrU7iaT9+i145oLwnin8JrfsLG41wl26+5cNQ2XV3zcbrnFEV6esjOceom9YO1w9mGJByw==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.1': + resolution: {integrity: sha512-n3Ppn0LSov/IdlANq+8kxHqENuJRX5XtwQqPgQsgwKIcFq22u17NKfDs9vL5PwRsEHY6Xd67pnOqQX0h4AvbuQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.11': + resolution: {integrity: sha512-IQ2n6af7XKLL6P1gIeZACskSxK8jWtoKpJWLZmdXTDj1MGzktUy4i+FvpdtxFmJWNavRWH1VmTr6kAubRDHeKw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.15.1': + resolution: {integrity: sha512-s9GN3M2jA32k+StvuS9uGe4ztf5KVGBdlJMMC6LR6Ah23Lq/CWKVcC3WeQi8qaAcLd+DiddoNCNMUWymLv+wWQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/core@1.15.11': + resolution: {integrity: sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + + '@swc/types@0.1.25': + resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@0.0.46': + resolution: {integrity: sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/hoist-non-react-statics@3.3.7': + resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + peerDependencies: + '@types/react': '*' + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/lodash@4.17.20': + resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} + + '@types/minimatch@6.0.0': + resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} + deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. + + '@types/node@20.14.5': + resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + + '@types/node@20.19.24': + resolution: {integrity: sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==} + + '@types/node@24.10.0': + resolution: {integrity: sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==} + + '@types/react-redux@7.1.34': + resolution: {integrity: sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==} + + '@types/react@19.2.2': + resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/statuses@2.0.6': + resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} + + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/project-service@8.46.3': + resolution: {integrity: sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/scope-manager@8.46.3': + resolution: {integrity: sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.46.3': + resolution: {integrity: sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/types@8.46.3': + resolution: {integrity: sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@8.46.3': + resolution: {integrity: sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/utils@8.46.3': + resolution: {integrity: sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/visitor-keys@8.46.3': + resolution: {integrity: sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react@5.1.1': + resolution: {integrity: sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + + '@vitest/browser-playwright@4.0.8': + resolution: {integrity: sha512-MUi0msIAPXcA2YAuVMcssrSYP/yylxLt347xyTC6+ODl0c4XQFs0d2AN3Pc3iTa0pxIGmogflUV6eogXpPbJeA==} + peerDependencies: + playwright: '*' + vitest: 4.0.8 + + '@vitest/browser@4.0.8': + resolution: {integrity: sha512-oG6QJAR0d7S5SDnIYZwjxCj/a5fhbp9ZE7GtMgZn+yCUf4CxtqbBV6aXyg0qmn8nbUWT+rGuXL2ZB6qDBUjv/A==} + peerDependencies: + vitest: 4.0.8 + + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} + peerDependencies: + '@vitest/browser': 3.2.4 + vitest: 3.2.4 + peerDependenciesMeta: + '@vitest/browser': + optional: true + + '@vitest/coverage-v8@4.0.8': + resolution: {integrity: sha512-wQgmtW6FtPNn4lWUXi8ZSYLpOIb92j3QCujxX3sQ81NTfQ/ORnE0HtK7Kqf2+7J9jeveMGyGyc4NWc5qy3rC4A==} + peerDependencies: + '@vitest/browser': 4.0.8 + vitest: 4.0.8 + peerDependenciesMeta: + '@vitest/browser': + optional: true + + '@vitest/expect@4.0.8': + resolution: {integrity: sha512-Rv0eabdP/xjAHQGr8cjBm+NnLHNoL268lMDK85w2aAGLFoVKLd8QGnVon5lLtkXQCoYaNL0wg04EGnyKkkKhPA==} + + '@vitest/mocker@4.0.8': + resolution: {integrity: sha512-9FRM3MZCedXH3+pIh+ME5Up2NBBHDq0wqwhOKkN4VnvCiKbVxddqH9mSGPZeawjd12pCOGnl+lo/ZGHt0/dQSg==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.0.8': + resolution: {integrity: sha512-qRrjdRkINi9DaZHAimV+8ia9Gq6LeGz2CgIEmMLz3sBDYV53EsnLZbJMR1q84z1HZCMsf7s0orDgZn7ScXsZKg==} + + '@vitest/runner@4.0.8': + resolution: {integrity: sha512-mdY8Sf1gsM8hKJUQfiPT3pn1n8RF4QBcJYFslgWh41JTfrK1cbqY8whpGCFzBl45LN028g0njLCYm0d7XxSaQQ==} + + '@vitest/snapshot@4.0.8': + resolution: {integrity: sha512-Nar9OTU03KGiubrIOFhcfHg8FYaRaNT+bh5VUlNz8stFhCZPNrJvmZkhsr1jtaYvuefYFwK2Hwrq026u4uPWCw==} + + '@vitest/spy@4.0.8': + resolution: {integrity: sha512-nvGVqUunyCgZH7kmo+Ord4WgZ7lN0sOULYXUOYuHr55dvg9YvMz3izfB189Pgp28w0vWFbEEfNc/c3VTrqrXeA==} + + '@vitest/utils@4.0.8': + resolution: {integrity: sha512-pdk2phO5NDvEFfUTxcTP8RFYjVj/kfLSPIN5ebP2Mu9kcIMeAQTbknqcFEyBcC4z2pJlJI9aS5UQjcYfhmKAow==} + + '@zeit/schemas@2.36.0': + resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==} + + JSV@4.0.2: + resolution: {integrity: sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==} + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-hammerhead@0.6.2: + resolution: {integrity: sha512-JZklfs1VVyjA1hf1y5qSzKSmK3K1UUUI7fQTuM/Zhv3rz4kFhdx4QwVnmU6tBEC8g/Ov6B+opfNFPeSZrlQfqA==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@2.0.3: + resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} + engines: {node: '>= 16.0.0'} + + adm-zip@0.5.16: + resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} + engines: {node: '>=12.0'} + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@7.2.0: + resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + antd@5.29.1: + resolution: {integrity: sha512-TTFVbpKbyL6cPfEoKq6Ya3BIjTUr7uDW9+7Z+1oysRv1gpcN7kQ4luH8r/+rXXwz4n6BIz1iBJ1ezKCdsdNW0w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-find-index@1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + + array-find@1.0.0: + resolution: {integrity: sha512-kO/vVCacW9mnpn3WPWbTVlEnOabK2L7LWi2HViURtCM46y1zb6I8UMjx4LgbiqadTgHnLInUronwn3ampNTJtQ==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + + array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + ast-v8-to-istanbul@0.3.8: + resolution: {integrity: sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==} + + async-exit-hook@1.1.2: + resolution: {integrity: sha512-CeTSWB5Bou31xSHeO45ZKgLPRaJbV4I8csRcFYETDBehX7H+1GDO/v+v8G7fZmar1gOmYa6UTXn6d/WIiJbslw==} + engines: {node: '>=0.12.0'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async@3.2.3: + resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.11.0: + resolution: {integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==} + engines: {node: '>=4'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + babel-extract-comments@1.0.0: + resolution: {integrity: sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==} + engines: {node: '>=4'} + + babel-plugin-jsx-remove-data-test-id@3.0.0: + resolution: {integrity: sha512-E4uM/LIUizjy2Z5tVAfa8pSXsYgoKWJ97kzuEMfsIxSLSNDWsAhgFVPkgNuakViX5dkNjw1DKIi0VpWP6djqbw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-plugin-module-resolver@5.0.0: + resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==} + engines: {node: '>= 16'} + + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.8.7: + resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.5.5: + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-syntax-object-rest-spread@6.13.0: + resolution: {integrity: sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==} + + babel-plugin-syntax-trailing-function-commas@6.22.0: + resolution: {integrity: sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==} + + babel-plugin-transform-object-rest-spread@6.26.0: + resolution: {integrity: sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==} + + babel-plugin-version@0.2.3: + resolution: {integrity: sha512-YylmpgfdYrCiLGLtR7tLa+VYXJAadBSeH7asYvVLQPlooyQYQ1YFemiGZcryWsIyoj8w6P20qW0y7y6+AiDFbQ==} + + babel-runtime@6.26.0: + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + + babylon@6.18.0: + resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==} + hasBin: true + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + bare-fs@4.5.0: + resolution: {integrity: sha512-GljgCjeupKZJNetTqxKaQArLK10vpmK28or0+RwWjEl5Rk+/xG3wkpmkv+WrcBm3q1BwHKlnhXzR8O37kcvkXQ==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.6.2: + resolution: {integrity: sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==} + engines: {bare: '>=1.14.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.7.0: + resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + + bare-url@2.3.2: + resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} + + base-x@3.0.11: + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + + base16@1.0.0: + resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.8.25: + resolution: {integrity: sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==} + hasBin: true + + baseline-browser-mapping@2.9.19: + resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} + hasBin: true + + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bowser@1.6.0: + resolution: {integrity: sha512-Fk23J0+vRnI2eKDEDoUZXWtbMjijr098lKhuj4DKAfMKMCRVfJOuxXlbpxy0sTgbZ/Nr2N8MexmOir+GGI/ZMA==} + + bowser@2.12.1: + resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} + + boxen@7.0.0: + resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsite@1.0.0: + resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-lite@1.0.30001754: + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} + + caniuse-lite@1.0.30001770: + resolution: {integrity: sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==} + + chai@4.3.4: + resolution: {integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==} + engines: {node: '>=4'} + + chai@6.2.0: + resolution: {integrity: sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==} + engines: {node: '>=18'} + + chalk-template@0.4.0: + resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} + engines: {node: '>=12'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.0.1: + resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-remote-interface@0.32.2: + resolution: {integrity: sha512-3UbFKtEmqApehPQnqdblcggx7KveQphEMKQmdJZsOguE9ylw2N2/9Z7arO7xS55+DBJ/hyP8RrayLt4MMdJvQg==} + hasBin: true + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + chromium-bidi@10.5.1: + resolution: {integrity: sha512-rlj6OyhKhVTnk4aENcUme3Jl9h+cq4oXu4AzBcvr8RMmT6BR4a3zSNT9dbIfXr9/BS6ibzRyDhowuw4n2GgzsQ==} + peerDependencies: + devtools-protocol: '*' + + ci-info@1.6.0: + resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==} + + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-truncate@5.1.1: + resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==} + engines: {node: '>=20'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cli@1.0.1: + resolution: {integrity: sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==} + engines: {node: '>=0.2.5'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + clipboard-copy@4.0.1: + resolution: {integrity: sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==} + + clipboardy@3.0.0: + resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + coffeescript@2.7.0: + resolution: {integrity: sha512-hzWp6TUE2d/jCcN67LrW1eh5b/rSDKQK6oD6VMLlggYVUUFexgTH9z3dNYihzX4RMhze5FTUsUmOXViJKFQR/A==} + engines: {node: '>=6'} + hasBin: true + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + engines: {node: '>=20'} + + commander@2.11.0: + resolution: {integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + commenting@1.1.0: + resolution: {integrity: sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} + hasBin: true + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + + console-browserify@1.1.0: + resolution: {integrity: sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + core-js-compat@3.46.0: + resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} + + core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-md5@1.0.0: + resolution: {integrity: sha512-65Mtei8+EkSIK+5Ie4gpWXoJ/5bgpqPXFknHHXAyhDqKsEAAzUslGd8mOeawbfcuQ8fADNKcF4xQA3fqlZJ8Ig==} + engines: {iojs: '>=1.0.0', node: '>=0.5.2'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + date-now@0.1.4: + resolution: {integrity: sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==} + + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.1: + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + + dedent@0.4.0: + resolution: {integrity: sha512-25DJIXD6mCqYHIqI3/aBfAvFgJSY9jIx397eUQSofXbWVR4lcB21a17qQ5Bswj0Zv+3Nf06zNCyfkGyvo0AqqQ==} + + dedent@0.6.0: + resolution: {integrity: sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-eql@3.0.1: + resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} + engines: {node: '>=0.12'} + + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@2.2.1: + resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} + engines: {node: '>=0.10.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + + del@3.0.0: + resolution: {integrity: sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==} + engines: {node: '>=4'} + + del@5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + device-specs@1.0.1: + resolution: {integrity: sha512-rxns/NDZfbdYumnn801z9uo8kWIz3Eld7Bk/F0V9zw4sZemSoD93+gxHEonLdxYulkws4iCMt7ZP8zuM8EzUSg==} + + devtools-protocol@0.0.1109433: + resolution: {integrity: sha512-w1Eqih66egbSr2eOoGZ+NsdF7HdxmKDo3pKFBySEGsmVvwWWNXzNCDcKrbFnd23Jf7kH1M806OfelXwu+Jk11g==} + + devtools-protocol@0.0.1521046: + resolution: {integrity: sha512-vhE6eymDQSKWUXwwA37NtTTVEzjtGVfDr3pRbsWEQ5onH/Snp2c+2xZHWJJawG/0hCCJLRGt4xVtEVUVILol4w==} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + + dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + + domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@2.3.0: + resolution: {integrity: sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==} + + domutils@1.5.1: + resolution: {integrity: sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==} + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} + hasBin: true + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.249: + resolution: {integrity: sha512-5vcfL3BBe++qZ5kuFhD/p8WOM1N9m3nwvJPULJx+4xf2usSlZFJ0qoNYO2fOX4hi3ocuDcmDobtA+5SFr4OmBg==} + + electron-to-chromium@1.5.286: + resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} + + elegant-spinner@1.0.1: + resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} + engines: {node: '>=0.10.0'} + + email-validator@2.0.4: + resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==} + engines: {node: '>4.0'} + + emittery@0.4.1: + resolution: {integrity: sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==} + engines: {node: '>=6'} + + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + entities@1.0.0: + resolution: {integrity: sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-airbnb-base@15.0.0: + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + + eslint-config-airbnb@19.0.4: + resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} + engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 + + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-alias@1.1.2: + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + + eslint-plugin-prettier@5.5.4: + resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-plugin-testcafe@0.2.1: + resolution: {integrity: sha512-LZMHQ2kHFXzbt6ZSS2yUOQhr8QaHwaqvmra1EnXKK0qEwpAvegLdjntCbRPtuD6bDGxPFG87Y7mkI3S9TjZA4A==} + + eslint-plugin-testing-library@7.13.4: + resolution: {integrity: sha512-OOrjrJrFsp20xULIy2wDJWjW7qmH2nV0zrs3Y790Ld3+XZFDbtgKvnE//xDANIBna3M9sk9GPYbzkCLI7XhYmg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: ^9.14.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + eslint-plugin-unused-imports@4.3.0: + resolution: {integrity: sha512-ZFBmXMGBYfHttdRtOG9nFFpmUvMtbHSjsKrS20vdWdbfiVYsO3yA2SGYy9i9XmZJDfMGBflZGBCm70SEnFQtOA==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-plugin-vitest@0.5.4: + resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} + engines: {node: ^18.0.0 || >= 20.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: ^8.57.0 || ^9.0.0 + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + vitest: + optional: true + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + esotope-hammerhead@0.6.9: + resolution: {integrity: sha512-rD9Jbh0SFJzKe1RGfsbwpN5IBdubHKC61xRW7A5BPgBTtEnFxsWOqPITVhBaVDc4r5VPmh+Y1U1wmqReTfn1AQ==} + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + execa@3.4.0: + resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} + engines: {node: ^8.12.0 || >=9.7.0} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} + engines: {node: '>=12.0.0'} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fbemitter@3.0.0: + resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-babel-config@2.1.2: + resolution: {integrity: sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg==} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + flux@4.0.4: + resolution: {integrity: sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==} + peerDependencies: + react: ^15.0.2 || ^16.0.0 || ^17.0.0 + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + formik@2.4.9: + resolution: {integrity: sha512-5nI94BMnlFDdQRBY4Sz39WkhxajZJ57Fzs8wVbtsQlm5ScKIR1QLYqv/ultBnobObtlUyxpxoLodpixrsf36Og==} + peerDependencies: + react: '>=16.8.0' + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-os-info@1.0.2: + resolution: {integrity: sha512-Nlgt85ph6OHZ4XvTcC8LMLDDFUzf7LAinYJZUwzrnc3WiO+vDEHDmNItTtzixBDLv94bZsvJGrrDRAE6uPs4MQ==} + + get-port@4.2.0: + resolution: {integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==} + engines: {node: '>=6'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stdin@4.0.1: + resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} + engines: {node: '>=0.10.0'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} + engines: {node: '>= 14'} + + getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + engines: {node: 20 || >=22} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} + engines: {node: '>=0.10.0'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + + graphql@16.12.0: + resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + + happy-dom@20.0.10: + resolution: {integrity: sha512-6umCCHcjQrhP5oXhrHQQvLB0bwb1UzHAHdsXy+FjtKoYjUhmNZsQL8NivwM1vDvNEChJabVrUYxUnp/ZdYmy2g==} + engines: {node: '>=20.0.0'} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + headers-polyfill@4.0.3: + resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} + + highlight-es@1.0.3: + resolution: {integrity: sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==} + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + htmlparser2@3.8.3: + resolution: {integrity: sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http-status-codes@2.3.0: + resolution: {integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==} + + httpntlm@1.8.13: + resolution: {integrity: sha512-2F2FDPiWT4rewPzNMg3uPhNkP3NExENlUGADRUDPQvuftuUTGW98nLZtGemCIW3G40VhWZYgkIDcQFAwZ3mf2Q==} + engines: {node: '>=10.4.0'} + + httpreq@1.1.1: + resolution: {integrity: sha512-uhSZLPPD2VXXOSN8Cni3kIsoFHaU2pT/nySEU/fHr/ePbqHYr0jeiQRmUKLEirC09SFPsdMoA7LU7UXMd/w0Kw==} + engines: {node: '>= 6.15.1'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + humanize-duration@3.33.1: + resolution: {integrity: sha512-hwzSCymnRdFx9YdRkQQ0OYequXiVAV6ZGQA2uzocwB0F4309Ke6pO8dg0P8LHhRQJyVjGteRTAA/zNfEcpXn8A==} + + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.5.1: + resolution: {integrity: sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-lazy@3.1.0: + resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@1.2.2: + resolution: {integrity: sha512-Z1vqf6lDC3f4N2mWqRywY6odjRatPNGDZgUr4DY9MLC14+Fp2/y+CI/RnNGlb8hD6ckscE/8DlZUwHUaiDBshg==} + engines: {node: '>=0.10.0'} + hasBin: true + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inquirer@9.3.8: + resolution: {integrity: sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==} + engines: {node: '>=18'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + intl-messageformat@10.7.18: + resolution: {integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==} + + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@1.2.1: + resolution: {integrity: sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==} + hasBin: true + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-es2016-keyword@1.0.0: + resolution: {integrity: sha512-JtZWPUwjdbQ1LIo9OSZ8MdkWEve198ors27vH+RzUUvZXXZkzXCxFnlUhzWYxy5IexQSRiXVw9j2q/tHMmkVYQ==} + + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-finite@1.1.0: + resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} + engines: {node: '>=18'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@1.0.0: + resolution: {integrity: sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==} + engines: {node: '>=0.10.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-in-cwd@1.0.1: + resolution: {integrity: sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==} + engines: {node: '>=0.10.0'} + + is-path-inside@1.0.1: + resolution: {integrity: sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==} + engines: {node: '>=0.10.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-podman@1.0.1: + resolution: {integrity: sha512-+5vbtF5FIg262iUa7gOIseIWTx0740RHiax7oSmJMhbfSoBIMQ/IacKKgfnGj65JGeH9lGEVQcdkDwhn1Em1mQ==} + engines: {node: '>=8'} + hasBin: true + + is-port-reachable@4.0.0: + resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-utf8@0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} + + js-beautify@1.15.4: + resolution: {integrity: sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==} + engines: {node: '>=14'} + hasBin: true + + js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + + js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} + + js-md4@0.3.2: + resolution: {integrity: sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==} + + js-tokens@3.0.2: + resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + jshint@2.13.6: + resolution: {integrity: sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + jsonlint-mod@1.7.6: + resolution: {integrity: sha512-oGuk6E1ehmIpw0w9ttgb2KsDQQgGXBzZczREW8OfxEm9eCQYL9/LCexSnh++0z3AiYGcXpBgqDSx9AAgzl/Bvg==} + engines: {node: '>= 0.6'} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@16.2.6: + resolution: {integrity: sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw==} + engines: {node: '>=20.17'} + hasBin: true + + linux-platform-info@0.0.3: + resolution: {integrity: sha512-FZhfFOIz0i4EGAvM4fQz+eayE9YzMuTx45tbygWYBttNapyiODg85BnAlQ1xnahEkvIM87T98XhXSfW8JAClHg==} + + listr2@9.0.5: + resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} + engines: {node: '>=20.0.0'} + + lmdb@2.8.5: + resolution: {integrity: sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==} + hasBin: true + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.curry@4.1.1: + resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.flow@3.5.0: + resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update-async-hook@2.0.7: + resolution: {integrity: sha512-V9KpD1AZUBd/oiZ+/Xsgd5rRP9awhgtRiDv5Am4VQCixiDnAbXMdt/yKz41kCzYZtVbwC6YCxnWEF3zjNEwktA==} + + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + macos-release@3.4.0: + resolution: {integrity: sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + match-requires@2.0.1: + resolution: {integrity: sha512-S6JulEqECMp/5S3R4+6Bf3xwz/6wTWXVzBItOg5qzCC7RgjkkIYu0yjf5DYkt83cohskyn8+pVhJ7X0IiRnIig==} + engines: {node: '>=0.10.0'} + + match-url-wildcard@0.0.4: + resolution: {integrity: sha512-R1XhQaamUZPWLOPtp4ig5j+3jctN+skhgRmEQTUamMzmNtRG69QEirQs0NZKLtHMR7tzWpmtnS4Eqv65DcgXUA==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@1.0.1: + resolution: {integrity: sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.4.1: + resolution: {integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==} + hasBin: true + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + moment-duration-format-commonjs@1.0.1: + resolution: {integrity: sha512-KhKZRH21/+ihNRWrmdNFOyBptFi7nAWZFeFsRRpXkzgk/Yublb4fxyP0jU6EY1VDxUL/VUPdCmm/wAnpbfXdfw==} + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + msgpackr-extract@3.0.3: + resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} + hasBin: true + + msgpackr@1.11.5: + resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==} + + msgpackr@1.11.8: + resolution: {integrity: sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==} + + msw@2.12.2: + resolution: {integrity: sha512-Fsr8AR5Yu6C0thoWa1Z8qGBFQLDvLsWlAn/v3CNLiUizoRqBYArK3Ex3thXpMWRr1Li5/MKLOEZ5mLygUmWi1A==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + typescript: '>= 4.8.x' + peerDependenciesMeta: + typescript: + optional: true + + mustache@2.3.2: + resolution: {integrity: sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==} + engines: {npm: '>=1.4.0'} + hasBin: true + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + mute-stream@3.0.0: + resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} + engines: {node: ^20.17.0 || >=22.9.0} + + nano-spawn@2.0.0: + resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==} + engines: {node: '>=20.17'} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp-build-optional-packages@5.1.1: + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} + hasBin: true + + node-gyp-build-optional-packages@5.2.2: + resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} + hasBin: true + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + ordered-binary@1.6.0: + resolution: {integrity: sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==} + + os-family@1.1.0: + resolution: {integrity: sha512-E3Orl5pvDJXnVmpaAA2TeNNpNhTMl4o5HghuWhOivBjEiTnJSrMYSa5uZMek1lBEvu8kKEsa2YgVcGFVDqX/9w==} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@1.2.0: + resolution: {integrity: sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==} + engines: {node: '>=4'} + + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-name-regex@2.0.6: + resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==} + engines: {node: '>=12'} + + parcel@2.16.1: + resolution: {integrity: sha512-VImOEXHLdrSuG6/jX2DucrCSju/idmtLUhwS5cCy7CrWDDA1af7qdHHD038kHYXWqUIAmzHkRsp/8oRxBqNfVw==} + engines: {node: '>= 16.0.0'} + hasBin: true + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse5@1.5.1: + resolution: {integrity: sha512-w2jx/0tJzvgKwZa58sj2vAYq/S/K1QJfIB3cWYea/Iu1scFPDQQ3IQiVZTHWtRBwAjv2Yd7S/xeZf3XqLDb3bA==} + + parse5@2.2.3: + resolution: {integrity: sha512-yJQdbcT+hCt6HD+BuuUvjHUdNwerQIKSJSm7tXjtp6oIH5Mxbzlt/VIIeWxblsgcDt1+E7kxPeilD5McWswStA==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} + engines: {node: 20 || >=22} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + penpal@4.1.1: + resolution: {integrity: sha512-6d1f8khVLyBz3DnhLztbfjJ7+ANxdXRM2l6awpnCdEtbrmse4AGTsELOvGuNY0SU7xZw7heGbP6IikVvaVTOWw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pinkie-promise@1.0.0: + resolution: {integrity: sha512-5mvtVNse2Ml9zpFKkWBpGsTPwm3DKhs+c95prO/F6E7d6DN0FPqxs6LONpLNpyD7Iheb7QN4BbUoKJgo+DnkQA==} + engines: {node: '>=0.10.0'} + + pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + + pinkie@1.0.0: + resolution: {integrity: sha512-VFVaU1ysKakao68ktZm76PIdOhvEfoNNRaGkyLln9Os7r0/MCxqHjHyBM7dT3pgTiBybqiPtpqKfpENwdBp50Q==} + engines: {node: '>=0.10.0'} + + pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + + pixelmatch@7.1.0: + resolution: {integrity: sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==} + hasBin: true + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + playwright-core@1.56.1: + resolution: {integrity: sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.56.1: + resolution: {integrity: sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==} + engines: {node: '>=18'} + hasBin: true + + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-hrtime@1.0.3: + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} + engines: {node: '>= 0.8'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + + promisify-event@1.0.0: + resolution: {integrity: sha512-mshw5LiFmdtphcuUGKyd3t6zmmgIVxrdZ8v4R1INAXHvMemUsDCqIUeq5QUIqqDfed8ZZ6uhov1PqhrdBvHOIA==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-expr@2.0.6: + resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + puppeteer-core@24.29.1: + resolution: {integrity: sha512-ErJ9qKCK+bdLvBa7QVSQTBSPm8KZbl1yC/WvhrZ0ut27hDf2QBzjDsn1IukzE1i1KtZ7NYGETOV4W1beoo9izA==} + engines: {node: '>=18'} + + puppeteer@24.29.1: + resolution: {integrity: sha512-pX05JV1mMP+1N0vP3I4DOVwjMdpihv2LxQTtSfw6CUm5F0ZFLUFE/LSZ4yUWHYaM3C11Hdu+sgn7uY7teq5MYw==} + engines: {node: '>=18'} + hasBin: true + + pure-color@1.3.0: + resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} + + qrcode-terminal@0.10.0: + resolution: {integrity: sha512-ZvWjbAj4MWAj6bnCc9CnculsXnJr7eoKsvH/8rVpZbqYxP2z05HNQa43ZVwe/dVRcFxgfFHE2CkUqn0sCyLfHw==} + hasBin: true + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc-cascader@3.34.0: + resolution: {integrity: sha512-KpXypcvju9ptjW9FaN2NFcA2QH9E9LHKq169Y0eWtH4e/wHQ5Wh5qZakAgvb8EKZ736WZ3B0zLLOBsrsja5Dag==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-checkbox@3.5.0: + resolution: {integrity: sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-collapse@3.9.0: + resolution: {integrity: sha512-swDdz4QZ4dFTo4RAUMLL50qP0EY62N2kvmk2We5xYdRwcRn8WcYtuetCJpwpaCbUfUt5+huLpVxhvmnK+PHrkA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-dialog@9.6.0: + resolution: {integrity: sha512-ApoVi9Z8PaCQg6FsUzS8yvBEQy0ZL2PkuvAgrmohPkN3okps5WZ5WQWPc1RNuiOKaAYv8B97ACdsFU5LizzCqg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-drawer@7.3.0: + resolution: {integrity: sha512-DX6CIgiBWNpJIMGFO8BAISFkxiuKitoizooj4BDyee8/SnBn0zwO2FHrNDpqqepj0E/TFTDpmEBCyFuTgC7MOg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-dropdown@4.2.1: + resolution: {integrity: sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + + rc-field-form@2.7.1: + resolution: {integrity: sha512-vKeSifSJ6HoLaAB+B8aq/Qgm8a3dyxROzCtKNCsBQgiverpc4kWDQihoUwzUj+zNWJOykwSY4dNX3QrGwtVb9A==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-image@7.12.0: + resolution: {integrity: sha512-cZ3HTyyckPnNnUb9/DRqduqzLfrQRyi+CdHjdqgsyDpI3Ln5UX1kXnAhPBSJj9pVRzwRFgqkN7p9b6HBDjmu/Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-input-number@9.5.0: + resolution: {integrity: sha512-bKaEvB5tHebUURAEXw35LDcnRZLq3x1k7GxfAqBMzmpHkDGzjAtnUL8y4y5N15rIFIg5IJgwr211jInl3cipag==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-input@1.8.0: + resolution: {integrity: sha512-KXvaTbX+7ha8a/k+eg6SYRVERK0NddX8QX7a7AnRvUa/rEH0CNMlpcBzBkhI0wp2C8C4HlMoYl8TImSN+fuHKA==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + rc-mentions@2.20.0: + resolution: {integrity: sha512-w8HCMZEh3f0nR8ZEd466ATqmXFCMGMN5UFCzEUL0bM/nGw/wOS2GgRzKBcm19K++jDyuWCOJOdgcKGXU3fXfbQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-menu@9.16.1: + resolution: {integrity: sha512-ghHx6/6Dvp+fw8CJhDUHFHDJ84hJE3BXNCzSgLdmNiFErWSOaZNsihDAsKq9ByTALo/xkNIwtDFGIl6r+RPXBg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-motion@2.9.5: + resolution: {integrity: sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-notification@5.6.4: + resolution: {integrity: sha512-KcS4O6B4qzM3KH7lkwOB7ooLPZ4b6J+VMmQgT51VZCeEcmghdeR4IrMcFq0LG+RPdnbe/ArT086tGM8Snimgiw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-overflow@1.5.0: + resolution: {integrity: sha512-Lm/v9h0LymeUYJf0x39OveU52InkdRXqnn2aYXfWmo8WdOonIKB2kfau+GF0fWq6jPgtdO9yMqveGcK6aIhJmg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-pagination@5.1.0: + resolution: {integrity: sha512-8416Yip/+eclTFdHXLKTxZvn70duYVGTvUUWbckCCZoIl3jagqke3GLsFrMs0bsQBikiYpZLD9206Ej4SOdOXQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-picker@4.11.3: + resolution: {integrity: sha512-MJ5teb7FlNE0NFHTncxXQ62Y5lytq6sh5nUw0iH8OkHL/TjARSEvSHpr940pWgjGANpjCwyMdvsEV55l5tYNSg==} + engines: {node: '>=8.x'} + peerDependencies: + date-fns: '>= 2.x' + dayjs: '>= 1.x' + luxon: '>= 3.x' + moment: '>= 2.x' + react: '>=16.9.0' + react-dom: '>=16.9.0' + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + + rc-progress@4.0.0: + resolution: {integrity: sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-rate@2.13.1: + resolution: {integrity: sha512-QUhQ9ivQ8Gy7mtMZPAjLbxBt5y9GRp65VcUyGUMF3N3fhiftivPHdpuDIaWIMOTEprAjZPC08bls1dQB+I1F2Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-resize-observer@1.4.3: + resolution: {integrity: sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-segmented@2.7.0: + resolution: {integrity: sha512-liijAjXz+KnTRVnxxXG2sYDGd6iLL7VpGGdR8gwoxAXy2KglviKCxLWZdjKYJzYzGSUwKDSTdYk8brj54Bn5BA==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + + rc-select@14.16.8: + resolution: {integrity: sha512-NOV5BZa1wZrsdkKaiK7LHRuo5ZjZYMDxPP6/1+09+FB4KoNi8jcG1ZqLE3AVCxEsYMBe65OBx71wFoHRTP3LRg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + + rc-slider@11.1.9: + resolution: {integrity: sha512-h8IknhzSh3FEM9u8ivkskh+Ef4Yo4JRIY2nj7MrH6GQmrwV6mcpJf5/4KgH5JaVI1H3E52yCdpOlVyGZIeph5A==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-steps@6.0.1: + resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-switch@4.1.0: + resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-table@7.54.0: + resolution: {integrity: sha512-/wDTkki6wBTjwylwAGjpLKYklKo9YgjZwAU77+7ME5mBoS32Q4nAwoqhA2lSge6fobLW3Tap6uc5xfwaL2p0Sw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tabs@15.7.0: + resolution: {integrity: sha512-ZepiE+6fmozYdWf/9gVp7k56PKHB1YYoDsKeQA1CBlJ/POIhjkcYiv0AGP0w2Jhzftd3AVvZP/K+V+Lpi2ankA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-textarea@1.10.2: + resolution: {integrity: sha512-HfaeXiaSlpiSp0I/pvWpecFEHpVysZ9tpDLNkxQbMvMz6gsr7aVZ7FpWP9kt4t7DB+jJXesYS0us1uPZnlRnwQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tooltip@6.4.0: + resolution: {integrity: sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-tree-select@5.27.0: + resolution: {integrity: sha512-2qTBTzwIT7LRI1o7zLyrCzmo5tQanmyGbSaGTIf7sYimCklAToVVfpMC6OAldSKolcnjorBYPNSKQqJmN3TCww==} + peerDependencies: + react: '*' + react-dom: '*' + + rc-tree@5.13.1: + resolution: {integrity: sha512-FNhIefhftobCdUJshO7M8uZTA9F4OPGVXqGfZkkD/5soDeOhwO06T/aKTrg0WD8gRg/pyfq+ql3aMymLHCTC4A==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + + rc-upload@4.11.0: + resolution: {integrity: sha512-ZUyT//2JAehfHzjWowqROcwYJKnZkIUGWaTE/VogVrepSl7AFNbQf4+zGfX4zl9Vrj/Jm8scLO0R6UlPDKK4wA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-util@5.44.4: + resolution: {integrity: sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc-virtual-list@3.19.2: + resolution: {integrity: sha512-Ys6NcjwGkuwkeaWBDqfI3xWuZ7rDiQXlH1o2zLfFzATfEgXcqpk8CkgMfbJD81McqjcJVez25a3kPxCR807evA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-aria-components@1.13.0: + resolution: {integrity: sha512-t1mm3AVy/MjUJBZ7zrb+sFC5iya8Vvw3go3mGKtTm269bXGZho7BLA4IgT+0nOS3j+ku6ChVi8NEoQVFoYzJJA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + react-aria@3.44.0: + resolution: {integrity: sha512-2Pq3GQxBgM4/2BlpKYXeaZ47a3tdIcYSW/AYvKgypE3XipxOdQMDG5Sr/NBn7zuJq+thzmtfRb0lB9bTbsmaRw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + react-base16-styling@0.6.0: + resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==} + + react-dom@17.0.2: + resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + peerDependencies: + react: 17.0.2 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-dom@19.2.0: + resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} + peerDependencies: + react: ^19.2.0 + + react-fast-compare@2.0.4: + resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} + + react-hook-form@7.66.0: + resolution: {integrity: sha512-xXBqsWGKrY46ZqaHDo+ZUYiMUgi8suYu5kdrS20EG8KiL7VRQitEbNjm+UcrDYrNi1YLyfpmAeGjCZYXLT9YBw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 || ^19 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-json-view@1.21.3: + resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} + peerDependencies: + react: ^17.0.0 || ^16.3.0 || ^15.5.4 + react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 + + react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + react-redux@7.2.9: + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + react-refresh@0.16.0: + resolution: {integrity: sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==} + engines: {node: '>=0.10.0'} + + react-refresh@0.18.0: + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} + engines: {node: '>=0.10.0'} + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router-last-location@2.0.1: + resolution: {integrity: sha512-3FbFIWwUr2qN28vN9DNdFp6RhUH/yif6ILVff1zT+hLdyGmlNPh3GuPhveb7bHQLgB744QW8L0qtWjX58ESuZQ==} + peerDependencies: + prop-types: ^15.6.0 + react: ^15.5.4 || ^16.0.0 + react-dom: ^15.5.4 || ^16.0.0 + react-router-dom: ^4.1.1 || ^5.0.1 + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react-split@2.0.14: + resolution: {integrity: sha512-bKWydgMgaKTg/2JGQnaJPg51T6dmumTWZppFgEbbY0Fbme0F5TuatAScCLaqommbGQQf/ZT1zaejuPDriscISA==} + peerDependencies: + react: '*' + + react-stately@3.42.0: + resolution: {integrity: sha512-lYt2o1dd6dK8Bb4GRh08RG/2u64bSA1cqtRqtw4jEMgxC7Q17RFcIumBbChErndSdLzafEG/UBwV6shOfig6yw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + react-textarea-autosize@8.5.9: + resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + react-transition-group@4.4.5: + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + + react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + react@19.2.0: + resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} + engines: {node: '>=0.10.0'} + + read-file-relative@1.2.0: + resolution: {integrity: sha512-lwZUlN2tQyPa62/XmVtX1MeNLVutlRWwqvclWU8YpOCgjKdhg2zyNkeFjy7Rnjo3txhKCy5FGgAi+vx59gvkYg==} + + readable-stream@1.1.14: + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + registry-auth-token@3.3.2: + resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} + + registry-url@3.1.0: + resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} + engines: {node: '>=0.10.0'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + hasBin: true + + repeating@1.1.3: + resolution: {integrity: sha512-Nh30JLeMHdoI+AsQ5eblhZ7YlTsM9wiJQe/AHIunlK3KWzvXhXb36IJ7K1IOeRjIOtzMjdUHjwXUFxKJoPTSOg==} + engines: {node: '>=0.10.0'} + hasBin: true + + replicator@1.0.5: + resolution: {integrity: sha512-saxS4y7NFkLMa92BR4bPHR41GD+f/qoDAwD2xZmN+MpDXgibkxwLO2qk7dCHYtskSkd/bWS8Jy6kC5MZUkg1tw==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + requires-regex@1.0.4: + resolution: {integrity: sha512-lOb6lagY+1XHHCk6PEOj1/mLsl95p5vJmTWf+u2Qn3fn6jK1EDkBLK8LeL63JU3eYqfvQyUHtEmBZq3UZ1T9Ww==} + engines: {node: '>=0.10.0'} + + reselect@4.1.8: + resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + resolve-cwd@1.0.0: + resolution: {integrity: sha512-ac27EnKWWlc2yQ/5GCoCGecqVJ9MSmgiwvUYOS+9A+M0dn1FdP5mnsDZ9gwx+lAvh/d7f4RFn4jLfggRRYxPxw==} + engines: {node: '>=0.10.0'} + + resolve-from@2.0.0: + resolution: {integrity: sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + rettime@0.7.0: + resolution: {integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@6.1.0: + resolution: {integrity: sha512-DxdlA1bdNzkZK7JiNWH+BAx1x4tEJWoTofIopFo6qWUU94jYrFZ0ubY05TqH3nWPJ1nKa1JWVFDINZ3fnrle/A==} + engines: {node: 20 || >=22} + hasBin: true + + rollup-plugin-istanbul@5.0.0: + resolution: {integrity: sha512-5FMw55B/05AVfEM75yqlzcIBFCMzS4bKDF8mA1pq2XNzYcGUd6BElZM6wvc9sn2uAclTYn6pK+kt4R4JoHmNHA==} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + rollup-plugin-license@3.6.0: + resolution: {integrity: sha512-1ieLxTCaigI5xokIfszVDRoy6c/Wmlot1fDEnea7Q/WXSR8AqOjYljHDLObAx7nFxHC2mbxT3QnTSPhaic2IYw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + + rollup@4.53.1: + resolution: {integrity: sha512-n2I0V0lN3E9cxxMqBCT3opWOiQBzRN7UG60z/WDKqdX2zHUS/39lezBcsckZFsV6fUTSnfqI7kHf60jDAPGKug==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sanitize-filename@1.6.3: + resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} + + scheduler@0.20.2: + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + + semver-diff@3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.6: + resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + serve@14.2.5: + resolution: {integrity: sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==} + engines: {node: '>= 14'} + hasBin: true + + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} + engines: {node: '>=18'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spdx-compare@1.0.0: + resolution: {integrity: sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-validate@2.0.0: + resolution: {integrity: sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==} + + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + + spdx-ranges@2.1.1: + resolution: {integrity: sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==} + + spdx-satisfies@5.0.1: + resolution: {integrity: sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==} + + split.js@1.6.5: + resolution: {integrity: sha512-mPTnGCiS/RiuTNsVhCm9De9cCAUsrNFFviRbADdKiiV+Kk8HKp/0fWu7Kr8pi3/yBmsqLFHuXGT9UUZ+CNLwFw==} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + staged-git-files@1.3.0: + resolution: {integrity: sha512-38Kd8VBVMVqtuavWAzwV9uWvbIhTQh0hNWMWzj2FAOjdMHgLJOArE3eYBSbLgV28j4F3AXieOMekFqM9UX6wxw==} + hasBin: true + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string-width@8.1.0: + resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} + engines: {node: '>=20'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-bom@2.0.0: + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-comments@1.0.2: + resolution: {integrity: sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@1.0.4: + resolution: {integrity: sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==} + engines: {node: '>=0.8.0'} + hasBin: true + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-mod@4.1.3: + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.11.11: + resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tar-fs@3.1.1: + resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + + testcafe-browser-provider-playwright@1.1.0: + resolution: {integrity: sha512-uGOiurBBmQLmcK296p4eD49Lw+zktllZCKNnWKnj8D5tM1PUquZk+GiITiv/9QUPxycw4AU7ENuyv5z0Wiipmw==} + peerDependencies: + playwright: 1.x + + testcafe-browser-tools@2.0.26: + resolution: {integrity: sha512-nTKSJhBzn9BmnOs0xVzXMu8dN2Gu13Ca3x3SJr/zF6ZdKjXO82JlbHu55dt5MFoWjzAQmwlqBkSxPaYicsTgUw==} + engines: {node: '>= 0.10'} + + testcafe-hammerhead@31.7.5: + resolution: {integrity: sha512-XnDtvrpiwoxMPhC9A3eFOPeE0erDF0iae5t23yaYB4lVQCRuEoNfg5Lv4vGvDhbJ2n2fpzOre4Lhvz12mac0tw==} + engines: {node: '>=14.0.0'} + + testcafe-legacy-api@5.1.8: + resolution: {integrity: sha512-Jp/8xPQ+tjr2iS569Og8fFRaSx/7h/N/t6DVzhWpVNO3D5AtPkGmSjCAABh7tHkUwrKfBI7sLuVaxekiT5PWTA==} + + testcafe-reporter-json@2.2.0: + resolution: {integrity: sha512-wfpNaZgGP2WoqdmnIXOyxcpwSzdH1HvzXSN397lJkXOrQrwhuGUThPDvyzPnZqxZSzXdDUvIPJm55tCMWbfymQ==} + engines: {node: '>=8.0.0'} + + testcafe-reporter-list@2.2.0: + resolution: {integrity: sha512-+6Q2CC+2B90OYED2Yx6GoBIMUYd5tADNUbOHu3Hgdd3qskzjBdKwpdDt0b7w0w7oYDO1/Uu4HDBTDud3lWpD4Q==} + + testcafe-reporter-minimal@2.2.0: + resolution: {integrity: sha512-iUSWI+Z+kVUAsGegMmEXKDiMPZHDxq+smo4utWwc3wI3Tk6jT8PbNvsROQAjwkMKDmnpo6To5vtyvzvK+zKGXA==} + + testcafe-reporter-spec@2.2.0: + resolution: {integrity: sha512-4jUN75Y7eaHQfSjiCLBXt/TvJMW76kBaZGC74sq03FJNBLoo8ibkEFzfjDJzNDCRYo+P7FjCx3vxGrzgfQU26w==} + + testcafe-reporter-xunit@2.2.3: + resolution: {integrity: sha512-aGyc+MZPsTNwd9SeKJSjFNwEZfILzFnObzOImaDbsf57disTQfEY+9japXWav/Ef5Cv04UEW24bTFl2Q4f8xwg==} + + testcafe-selector-generator@0.1.0: + resolution: {integrity: sha512-MTw+RigHsEYmFgzUFNErDxui1nTYUk6nm2bmfacQiKPdhJ9AHW/wue4J/l44mhN8x3E8NgOUkHHOI+1TDFXiLQ==} + + testcafe@3.7.2: + resolution: {integrity: sha512-1XNc764DlIfmev7JHwzVP2l7ZHQin9nTsM9fBB0yd3naAJn+VUR9kUe7J1PSxk+nJkhkBvsSmQSlppj527JGAA==} + engines: {node: '>=16.0.0'} + hasBin: true + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + throttle-debounce@5.0.2: + resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} + engines: {node: '>=12.22'} + + time-limit-promise@1.0.4: + resolution: {integrity: sha512-FLHDDsIDducw7MBcRWlFtW2Tm50DoKOSFf0Nzx17qwXj8REXCte0eUkHrJl9QU3Bl9arG3XNYX0PcHpZ9xyuLw==} + engines: {node: '>= 0.12'} + + tiny-case@1.0.3: + resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} + + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} + + tldts-core@7.0.17: + resolution: {integrity: sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==} + + tldts@7.0.17: + resolution: {integrity: sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==} + hasBin: true + + tmp@0.0.28: + resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==} + engines: {node: '>=0.4.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + toposort@2.0.2: + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + + tough-cookie@6.0.0: + resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} + engines: {node: '>=16'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + + typescript@4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + + ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + underscore@1.12.1: + resolution: {integrity: sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==} + + underscore@1.13.7: + resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + + until-async@3.0.2: + resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-check@1.5.4: + resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + url-to-options@2.0.0: + resolution: {integrity: sha512-mfONnc9dqO0J41wUh/El+plDskrIJRcyLcx6WjEGYW2K11RnjPDAgeoNFCallADaYJfcWIvAlYyZPBw02AbfIQ==} + engines: {node: '>=8'} + + use-composed-ref@1.4.0: + resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-latest@1.3.0: + resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@13.0.0: + resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + hasBin: true + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite@7.2.2: + resolution: {integrity: sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest-browser-react@2.0.2: + resolution: {integrity: sha512-zuSgTe/CKODU3ip+w4ls6Qm4xZ9+A4OHmDf0obt/mwAqavpOtqtq2YcioZt8nfDQE50EWmhdnRfDmpS1jCsbTQ==} + peerDependencies: + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + vitest: ^4.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + vitest@4.0.8: + resolution: {integrity: sha512-urzu3NCEV0Qa0Y2PwvBtRgmNtxhj5t5ULw7cuKhIHh3OrkKTLlut0lnBOv9qe5OvbkMH2g38G7KPDCTpIytBVg==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.8 + '@vitest/browser-preview': 4.0.8 + '@vitest/browser-webdriverio': 4.0.8 + '@vitest/ui': 4.0.8 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + weak-lru-cache@1.2.2: + resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webdriver-bidi-protocol@0.3.8: + resolution: {integrity: sha512-21Yi2GhGntMc671vNBCjiAeEVknXjVRoyu+k+9xOMShu+ZQfpGQwnBqbNz/Sv4GXZ6JmutlPAi2nIJcrymAWuQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-promise@1.0.0: + resolution: {integrity: sha512-15ahjtDr3H+RBtTrvBcKhOFhIEiN3RZSCevDPWtBys+QUivZX9cYyNJcyWNIrUMVsgGrEuIThif9jxeEAQFauw==} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + windows-release@5.1.1: + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + 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 + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + + yup@1.7.1: + resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==} + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + +snapshots: + + '@adobe/aep-rules-engine@3.1.1(vitest@4.0.8)': + dependencies: + '@vitest/coverage-v8': 3.2.4(vitest@4.0.8) + transitivePeerDependencies: + - '@vitest/browser' + - supports-color + - vitest + + '@adobe/alloy@2.31.1(@types/babel__core@7.20.5)(@types/node@24.10.0)(picomatch@4.0.3)(vitest@4.0.8)': + dependencies: + '@adobe/aep-rules-engine': 3.1.1(vitest@4.0.8) + '@adobe/reactor-query-string': 2.0.0 + '@babel/core': 7.28.5 + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/preset-env': 7.28.5(@babel/core@7.28.5) + '@inquirer/prompts': 7.10.0(@types/node@24.10.0) + '@rollup/plugin-babel': 6.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.53.1) + '@rollup/plugin-commonjs': 29.0.0(rollup@4.53.1) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.53.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.53.1) + commander: 14.0.2 + js-cookie: 3.0.5 + rollup: 4.53.1 + rollup-plugin-license: 3.6.0(picomatch@4.0.3)(rollup@4.53.1) + uuid: 13.0.0 + optionalDependencies: + '@rollup/rollup-linux-x64-gnu': 4.53.1 + transitivePeerDependencies: + - '@types/babel__core' + - '@types/node' + - '@vitest/browser' + - picomatch + - supports-color + - vitest + + '@adobe/auth-token@1.0.1(@types/node@24.10.0)': + dependencies: + chalk: 5.6.2 + inquirer: 9.3.8(@types/node@24.10.0) + node-fetch: 3.3.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + + '@adobe/css-tools@4.4.4': {} + + '@adobe/react-spectrum-ui@1.2.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@adobe/react-spectrum-ui@1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@adobe/react-spectrum-ui@1.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@adobe/react-spectrum-workflow@2.3.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@adobe/react-spectrum-workflow@2.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@adobe/react-spectrum-workflow@2.3.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@adobe/react-spectrum@3.45.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/collections': 3.0.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/accordion': 3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/actionbar': 3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/avatar': 3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/badge': 3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/breadcrumbs': 3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/color': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/combobox': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/contextualhelp': 3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/datepicker': 3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/divider': 3.5.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dropzone': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/filetrigger': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/illustratedmessage': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/image': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/inlinealert': 3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/labeledvalue': 3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/link': 3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/list': 3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/meter': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/numberfield': 3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/radio': 3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/searchfield': 3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/slider': 3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/statuslight': 3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/switch': 3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/table': 3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/tabs': 3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/tag': 3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/theme-dark': 3.5.22(react@17.0.2) + '@react-spectrum/theme-default': 3.5.22(react@17.0.2) + '@react-spectrum/theme-light': 3.4.22(react@17.0.2) + '@react-spectrum/toast': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/tree': 3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/well': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/data': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + client-only: 0.0.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@adobe/react-spectrum@3.45.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/collections': 3.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/accordion': 3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/actionbar': 3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/avatar': 3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/badge': 3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/breadcrumbs': 3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/color': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/combobox': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/contextualhelp': 3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/datepicker': 3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/divider': 3.5.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dropzone': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/filetrigger': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/illustratedmessage': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/image': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/inlinealert': 3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/labeledvalue': 3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/link': 3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/list': 3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/meter': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/numberfield': 3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/radio': 3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/searchfield': 3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/slider': 3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/statuslight': 3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/switch': 3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/table': 3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/tabs': 3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/tag': 3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/theme-dark': 3.5.22(react@18.3.1) + '@react-spectrum/theme-default': 3.5.22(react@18.3.1) + '@react-spectrum/theme-light': 3.4.22(react@18.3.1) + '@react-spectrum/toast': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/tree': 3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/well': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/data': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + client-only: 0.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@adobe/react-spectrum@3.45.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/collections': 3.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/accordion': 3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/actionbar': 3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/avatar': 3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/badge': 3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/breadcrumbs': 3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/color': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/combobox': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/contextualhelp': 3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/datepicker': 3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/divider': 3.5.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dropzone': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/filetrigger': 3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/illustratedmessage': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/image': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/inlinealert': 3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/labeledvalue': 3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/link': 3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/list': 3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/meter': 3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/numberfield': 3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/radio': 3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/searchfield': 3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/slider': 3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/statuslight': 3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/switch': 3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/table': 3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tabs': 3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tag': 3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/theme-dark': 3.5.22(react@19.2.0) + '@react-spectrum/theme-default': 3.5.22(react@19.2.0) + '@react-spectrum/theme-light': 3.4.22(react@19.2.0) + '@react-spectrum/toast': 3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tree': 3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/well': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/data': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + client-only: 0.0.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@adobe/reactor-babel-plugin-replace-tokens-edge@1.2.0': + dependencies: + '@adobe/reactor-token-scripts-edge': 1.2.0 + transitivePeerDependencies: + - supports-color + + '@adobe/reactor-bridge@12.0.0': + dependencies: + penpal: 4.1.1 + + '@adobe/reactor-cookie@1.1.0': + dependencies: + js-cookie: 2.2.1 + + '@adobe/reactor-document@1.0.0': {} + + '@adobe/reactor-extension-core-edge@1.4.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))': + dependencies: + '@adobe/react-spectrum': 3.45.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/illustrations': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-hook-form: 7.66.0(react@18.3.1) + react-stately: 3.42.0(react@18.3.1) + transitivePeerDependencies: + - '@react-spectrum/provider' + + '@adobe/reactor-load-script@1.1.1': + dependencies: + '@adobe/reactor-promise': 2.0.0 + + '@adobe/reactor-object-assign@2.0.0': {} + + '@adobe/reactor-promise@2.0.0': {} + + '@adobe/reactor-query-string@2.0.0': {} + + '@adobe/reactor-sandbox@13.4.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.2)(prop-types@15.8.1)(redux@4.2.1)': + dependencies: + '@adobe/react-spectrum': 3.45.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@adobe/reactor-babel-plugin-replace-tokens-edge': 1.2.0 + '@adobe/reactor-bridge': 12.0.0 + '@adobe/reactor-extension-core-edge': 1.4.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0)) + '@adobe/reactor-token-scripts-edge': 1.2.0 + '@adobe/reactor-turbine': 28.1.0 + '@adobe/reactor-turbine-edge': 3.0.1 + '@adobe/reactor-validator': 2.5.0 + '@babel/core': 7.28.5 + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 + '@babel/traverse': 7.28.5 + '@codemirror/basic-setup': 0.19.3 + '@codemirror/gutter': 0.19.9 + '@codemirror/lang-json': 0.19.2 + '@codemirror/lint': 0.19.6 + '@ramda/indexby': 0.26.1 + '@rematch/core': 2.2.0(redux@4.2.1) + '@spectrum-icons/illustrations': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-formats: 2.1.1(ajv@8.18.0) + body-parser: 1.20.3 + chalk: 4.1.2 + deep-equal: 2.2.3 + express: 4.21.2 + fs-extra: 10.1.0 + glob: 7.2.3 + immer: 9.0.21 + js-beautify: 1.15.4 + jshint: 2.13.6 + jsonlint-mod: 1.7.6 + match-requires: 2.0.1 + node-fetch: 2.7.0 + pkg-dir: 5.0.0 + pkg-up: 3.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-json-view: 1.21.3(@types/react@19.2.2)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-redux: 7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + react-router-last-location: 2.0.1(prop-types@15.8.1)(react-dom@17.0.2(react@17.0.2))(react-router-dom@5.3.4(react@17.0.2))(react@17.0.2) + react-split: 2.0.14(react@17.0.2) + semver-diff: 3.1.1 + transitivePeerDependencies: + - '@react-spectrum/provider' + - '@types/react' + - encoding + - prop-types + - react-native + - redux + - supports-color + + '@adobe/reactor-token-scripts-edge@1.2.0': + dependencies: + '@babel/core': 7.28.5 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@adobe/reactor-turbine-edge@3.0.1': {} + + '@adobe/reactor-turbine-schemas@10.8.0': {} + + '@adobe/reactor-turbine@28.1.0': + dependencies: + '@adobe/reactor-cookie': 1.1.0 + '@adobe/reactor-document': 1.0.0 + '@adobe/reactor-load-script': 1.1.1 + '@adobe/reactor-object-assign': 2.0.0 + '@adobe/reactor-promise': 2.0.0 + '@adobe/reactor-query-string': 2.0.0 + '@adobe/reactor-window': 1.0.0 + is-plain-object: 5.0.0 + + '@adobe/reactor-validator@2.5.0': + dependencies: + '@adobe/reactor-turbine-schemas': 10.8.0 + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-formats: 2.1.1(ajv@8.18.0) + + '@adobe/reactor-window@1.0.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@ant-design/colors@7.2.1': + dependencies: + '@ant-design/fast-color': 2.0.6 + + '@ant-design/cssinjs-utils@1.1.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@babel/runtime': 7.28.4 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@ant-design/cssinjs@1.24.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.5.1 + csstype: 3.1.3 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + stylis: 4.3.6 + + '@ant-design/fast-color@2.0.6': + dependencies: + '@babel/runtime': 7.28.4 + + '@ant-design/icons-svg@4.4.2': {} + + '@ant-design/icons@5.6.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@ant-design/colors': 7.2.1 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@ant-design/react-slick@1.1.2(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + json2mq: 0.2.0 + react: 19.2.0 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 5.0.2 + + '@babel/cli@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@jridgewell/trace-mapping': 0.3.31 + commander: 6.2.1 + convert-source-map: 2.0.0 + fs-readdir-recursive: 1.1.0 + glob: 7.2.3 + make-dir: 2.1.0 + slash: 2.0.0 + optionalDependencies: + '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 + chokidar: 3.6.0 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/eslint-parser@7.28.5(@babel/core@7.28.5)(eslint@9.39.1)': + dependencies: + '@babel/core': 7.28.5 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 9.39.1 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.27.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.5 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.28.5': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helper-wrap-function@7.28.3': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.5) + + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-runtime@7.23.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.28.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-flow@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.5) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.5 + esutils: 2.0.3 + + '@babel/preset-react@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.28.4': {} + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bcoe/v8-coverage@1.0.2': {} + + '@codemirror/autocomplete@0.19.15': + dependencies: + '@codemirror/language': 0.19.10 + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/tooltip': 0.19.16 + '@codemirror/view': 0.19.48 + '@lezer/common': 0.15.12 + + '@codemirror/basic-setup@0.19.3': + dependencies: + '@codemirror/autocomplete': 0.19.15 + '@codemirror/closebrackets': 0.19.2 + '@codemirror/commands': 0.19.8 + '@codemirror/comment': 0.19.1 + '@codemirror/fold': 0.19.4 + '@codemirror/gutter': 0.19.9 + '@codemirror/highlight': 0.19.8 + '@codemirror/history': 0.19.2 + '@codemirror/language': 0.19.10 + '@codemirror/lint': 0.19.6 + '@codemirror/matchbrackets': 0.19.4 + '@codemirror/rectangular-selection': 0.19.2 + '@codemirror/search': 0.19.10 + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/closebrackets@0.19.2': + dependencies: + '@codemirror/language': 0.19.10 + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + + '@codemirror/commands@0.19.8': + dependencies: + '@codemirror/language': 0.19.10 + '@codemirror/matchbrackets': 0.19.4 + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + '@lezer/common': 0.15.12 + + '@codemirror/comment@0.19.1': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + + '@codemirror/fold@0.19.4': + dependencies: + '@codemirror/gutter': 0.19.9 + '@codemirror/language': 0.19.10 + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/gutter@0.19.9': + dependencies: + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/highlight@0.19.8': + dependencies: + '@codemirror/language': 0.19.10 + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + '@lezer/common': 0.15.12 + style-mod: 4.1.3 + + '@codemirror/history@0.19.2': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/lang-json@0.19.2': + dependencies: + '@codemirror/highlight': 0.19.8 + '@codemirror/language': 0.19.10 + '@lezer/json': 0.15.0 + + '@codemirror/language@0.19.10': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + '@lezer/common': 0.15.12 + '@lezer/lr': 0.15.8 + + '@codemirror/lint@0.19.6': + dependencies: + '@codemirror/gutter': 0.19.9 + '@codemirror/panel': 0.19.1 + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/tooltip': 0.19.16 + '@codemirror/view': 0.19.48 + crelt: 1.0.6 + + '@codemirror/matchbrackets@0.19.4': + dependencies: + '@codemirror/language': 0.19.10 + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + '@lezer/common': 0.15.12 + + '@codemirror/panel@0.19.1': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/rangeset@0.19.9': + dependencies: + '@codemirror/state': 0.19.9 + + '@codemirror/rectangular-selection@0.19.2': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + + '@codemirror/search@0.19.10': + dependencies: + '@codemirror/panel': 0.19.1 + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + '@codemirror/view': 0.19.48 + crelt: 1.0.6 + + '@codemirror/state@0.19.9': + dependencies: + '@codemirror/text': 0.19.6 + + '@codemirror/text@0.19.6': {} + + '@codemirror/tooltip@0.19.16': + dependencies: + '@codemirror/state': 0.19.9 + '@codemirror/view': 0.19.48 + + '@codemirror/view@0.19.48': + dependencies: + '@codemirror/rangeset': 0.19.9 + '@codemirror/state': 0.19.9 + '@codemirror/text': 0.19.6 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 + + '@devexpress/bin-v8-flags-filter@1.3.0': {} + + '@devexpress/callsite-record@4.1.7': + dependencies: + '@types/lodash': 4.17.20 + callsite: 1.0.0 + chalk: 2.4.2 + error-stack-parser: 2.1.4 + highlight-es: 1.0.3 + lodash: 4.17.21 + pinkie-promise: 2.0.1 + + '@electron/asar@3.4.1': + dependencies: + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 + + '@emotion/hash@0.8.0': {} + + '@emotion/unitless@0.7.5': {} + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)': + dependencies: + eslint: 9.39.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.1': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@formatjs/ecma402-abstract@2.3.6': + dependencies: + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/intl-localematcher': 0.6.2 + decimal.js: 10.6.0 + tslib: 2.8.1 + + '@formatjs/fast-memoize@2.2.7': + dependencies: + tslib: 2.8.1 + + '@formatjs/icu-messageformat-parser@2.11.4': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-skeleton-parser': 1.8.16 + tslib: 2.8.1 + + '@formatjs/icu-skeleton-parser@1.8.16': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + tslib: 2.8.1 + + '@formatjs/intl-localematcher@0.6.2': + dependencies: + tslib: 2.8.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@inquirer/ansi@1.0.2': {} + + '@inquirer/checkbox@4.3.1(@types/node@24.10.0)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@24.10.0) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/confirm@5.1.20(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/core@10.3.1(@types/node@24.10.0)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@24.10.0) + cli-width: 4.1.0 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/editor@4.2.22(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/external-editor': 1.0.3(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/expand@4.0.22(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/external-editor@1.0.3(@types/node@24.10.0)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.0 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/figures@1.0.15': {} + + '@inquirer/input@4.3.0(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/number@3.0.22(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/password@4.0.22(@types/node@24.10.0)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/prompts@7.10.0(@types/node@24.10.0)': + dependencies: + '@inquirer/checkbox': 4.3.1(@types/node@24.10.0) + '@inquirer/confirm': 5.1.20(@types/node@24.10.0) + '@inquirer/editor': 4.2.22(@types/node@24.10.0) + '@inquirer/expand': 4.0.22(@types/node@24.10.0) + '@inquirer/input': 4.3.0(@types/node@24.10.0) + '@inquirer/number': 3.0.22(@types/node@24.10.0) + '@inquirer/password': 4.0.22(@types/node@24.10.0) + '@inquirer/rawlist': 4.1.10(@types/node@24.10.0) + '@inquirer/search': 3.2.1(@types/node@24.10.0) + '@inquirer/select': 4.4.1(@types/node@24.10.0) + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/rawlist@4.1.10(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/type': 3.0.10(@types/node@24.10.0) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/search@3.2.1(@types/node@24.10.0)': + dependencies: + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@24.10.0) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/select@4.4.1(@types/node@24.10.0)': + dependencies: + '@inquirer/ansi': 1.0.2 + '@inquirer/core': 10.3.1(@types/node@24.10.0) + '@inquirer/figures': 1.0.15 + '@inquirer/type': 3.0.10(@types/node@24.10.0) + yoctocolors-cjs: 2.1.3 + optionalDependencies: + '@types/node': 24.10.0 + + '@inquirer/type@3.0.10(@types/node@24.10.0)': + optionalDependencies: + '@types/node': 24.10.0 + + '@internationalized/date@3.10.0': + dependencies: + '@swc/helpers': 0.5.17 + + '@internationalized/message@3.1.8': + dependencies: + '@swc/helpers': 0.5.17 + intl-messageformat: 10.7.18 + + '@internationalized/number@3.6.5': + dependencies: + '@swc/helpers': 0.5.17 + + '@internationalized/string@3.2.7': + dependencies: + '@swc/helpers': 0.5.17 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lezer/common@0.15.12': {} + + '@lezer/common@1.3.0': {} + + '@lezer/json@0.15.0': + dependencies: + '@lezer/lr': 0.15.8 + + '@lezer/lr@0.15.8': + dependencies: + '@lezer/common': 0.15.12 + + '@lezer/lr@1.4.3': + dependencies: + '@lezer/common': 1.3.0 + + '@lmdb/lmdb-darwin-arm64@2.8.5': + optional: true + + '@lmdb/lmdb-darwin-x64@2.8.5': + optional: true + + '@lmdb/lmdb-linux-arm64@2.8.5': + optional: true + + '@lmdb/lmdb-linux-arm@2.8.5': + optional: true + + '@lmdb/lmdb-linux-x64@2.8.5': + optional: true + + '@lmdb/lmdb-win32-x64@2.8.5': + optional: true + + '@mischnic/json-sourcemap@0.1.1': + dependencies: + '@lezer/common': 1.3.0 + '@lezer/lr': 1.4.3 + json5: 2.2.3 + + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': + optional: true + + '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': + optional: true + + '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': + optional: true + + '@mswjs/interceptors@0.40.0': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + + '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': + optional: true + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@one-ini/wasm@0.1.1': {} + + '@open-draft/deferred-promise@2.2.0': {} + + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + + '@parcel/bundler-default@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/graph': 3.6.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/cache@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/fs': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/logger': 2.16.1 + '@parcel/utils': 2.16.1 + lmdb: 2.8.5 + transitivePeerDependencies: + - napi-wasm + + '@parcel/cache@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.4(@swc/helpers@0.5.17) + '@parcel/fs': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/logger': 2.16.4 + '@parcel/utils': 2.16.4 + lmdb: 2.8.5 + transitivePeerDependencies: + - napi-wasm + + '@parcel/codeframe@2.16.1': + dependencies: + chalk: 4.1.2 + + '@parcel/codeframe@2.16.4': + dependencies: + chalk: 4.1.2 + + '@parcel/compressor-raw@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/config-default@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17)': + dependencies: + '@parcel/bundler-default': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/compressor-raw': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/namer-default': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/optimizer-css': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/optimizer-html': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/optimizer-image': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/optimizer-svg': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/optimizer-swc': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/packager-css': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/packager-html': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/packager-js': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/packager-raw': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/packager-svg': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/packager-wasm': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/reporter-dev-server': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/resolver-default': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/runtime-browser-hmr': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/runtime-js': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/runtime-rsc': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/runtime-service-worker': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-babel': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-css': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-html': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-image': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-js': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-json': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-node': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-postcss': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-posthtml': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-raw': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-react-refresh-wrap': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/transformer-svg': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + '@parcel/core@2.16.1(@swc/helpers@0.5.17)': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/cache': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/diagnostic': 2.16.1 + '@parcel/events': 2.16.1 + '@parcel/feature-flags': 2.16.1 + '@parcel/fs': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/graph': 3.6.1 + '@parcel/logger': 2.16.1 + '@parcel/package-manager': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/profiler': 2.16.1 + '@parcel/rust': 2.16.1 + '@parcel/source-map': 2.1.1 + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + base-x: 3.0.11 + browserslist: 4.27.0 + clone: 2.1.2 + dotenv: 16.6.1 + dotenv-expand: 11.0.7 + json5: 2.2.3 + msgpackr: 1.11.5 + nullthrows: 1.1.1 + semver: 7.7.3 + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + '@parcel/core@2.16.4(@swc/helpers@0.5.17)': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/cache': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/diagnostic': 2.16.4 + '@parcel/events': 2.16.4 + '@parcel/feature-flags': 2.16.4 + '@parcel/fs': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/graph': 3.6.4 + '@parcel/logger': 2.16.4 + '@parcel/package-manager': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/plugin': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/profiler': 2.16.4 + '@parcel/rust': 2.16.4 + '@parcel/source-map': 2.1.1 + '@parcel/types': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.4 + '@parcel/workers': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + base-x: 3.0.11 + browserslist: 4.28.1 + clone: 2.1.2 + dotenv: 16.6.1 + dotenv-expand: 11.0.7 + json5: 2.2.3 + msgpackr: 1.11.8 + nullthrows: 1.1.1 + semver: 7.7.4 + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + '@parcel/diagnostic@2.16.1': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + nullthrows: 1.1.1 + + '@parcel/diagnostic@2.16.4': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + nullthrows: 1.1.1 + + '@parcel/error-overlay@2.16.1': {} + + '@parcel/events@2.16.1': {} + + '@parcel/events@2.16.4': {} + + '@parcel/feature-flags@2.16.1': {} + + '@parcel/feature-flags@2.16.4': {} + + '@parcel/fs@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/feature-flags': 2.16.1 + '@parcel/rust': 2.16.1 + '@parcel/types-internal': 2.16.1 + '@parcel/utils': 2.16.1 + '@parcel/watcher': 2.5.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - napi-wasm + + '@parcel/fs@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.4(@swc/helpers@0.5.17) + '@parcel/feature-flags': 2.16.4 + '@parcel/rust': 2.16.4 + '@parcel/types-internal': 2.16.4 + '@parcel/utils': 2.16.4 + '@parcel/watcher': 2.5.6 + '@parcel/workers': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - napi-wasm + + '@parcel/graph@3.6.1': + dependencies: + '@parcel/feature-flags': 2.16.1 + nullthrows: 1.1.1 + + '@parcel/graph@3.6.4': + dependencies: + '@parcel/feature-flags': 2.16.4 + nullthrows: 1.1.1 + + '@parcel/logger@2.16.1': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/events': 2.16.1 + + '@parcel/logger@2.16.4': + dependencies: + '@parcel/diagnostic': 2.16.4 + '@parcel/events': 2.16.4 + + '@parcel/markdown-ansi@2.16.1': + dependencies: + chalk: 4.1.2 + + '@parcel/markdown-ansi@2.16.4': + dependencies: + chalk: 4.1.2 + + '@parcel/namer-default@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/node-resolver-core@3.7.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/diagnostic': 2.16.1 + '@parcel/fs': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + semver: 7.7.3 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/node-resolver-core@3.7.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@mischnic/json-sourcemap': 0.1.1 + '@parcel/diagnostic': 2.16.4 + '@parcel/fs': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.4 + '@parcel/utils': 2.16.4 + nullthrows: 1.1.1 + semver: 7.7.4 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/optimizer-css@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + browserslist: 4.27.0 + lightningcss: 1.30.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/optimizer-html@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/optimizer-image@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - napi-wasm + + '@parcel/optimizer-svg@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/optimizer-swc@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17)': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + '@swc/core': 1.15.1(@swc/helpers@0.5.17) + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - '@swc/helpers' + - napi-wasm + + '@parcel/package-manager@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17)': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/fs': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/logger': 2.16.1 + '@parcel/node-resolver-core': 3.7.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@swc/core': 1.15.1(@swc/helpers@0.5.17) + semver: 7.7.3 + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + '@parcel/package-manager@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))(@swc/helpers@0.5.17)': + dependencies: + '@parcel/core': 2.16.4(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.4 + '@parcel/fs': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/logger': 2.16.4 + '@parcel/node-resolver-core': 3.7.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/types': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.4 + '@parcel/workers': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + '@swc/core': 1.15.11(@swc/helpers@0.5.17) + semver: 7.7.4 + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + '@parcel/packager-css@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + lightningcss: 1.30.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/packager-html@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/packager-js@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/source-map': 2.1.1 + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + globals: 13.24.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/packager-raw@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/packager-svg@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/packager-wasm@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/plugin@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/plugin@2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types': 2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/plugin@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/profiler@2.16.1': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/events': 2.16.1 + '@parcel/types-internal': 2.16.1 + chrome-trace-event: 1.0.4 + + '@parcel/profiler@2.16.4': + dependencies: + '@parcel/diagnostic': 2.16.4 + '@parcel/events': 2.16.4 + '@parcel/types-internal': 2.16.4 + chrome-trace-event: 1.0.4 + + '@parcel/reporter-cli@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/types': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + chalk: 4.1.2 + term-size: 2.2.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/reporter-dev-server@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/codeframe': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/reporter-tracer@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + chrome-trace-event: 1.0.4 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/resolver-default@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/node-resolver-core': 3.7.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/runtime-browser-hmr@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/runtime-js@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/runtime-rsc@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/runtime-service-worker@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/rust-darwin-arm64@2.16.1': + optional: true + + '@parcel/rust-darwin-arm64@2.16.4': + optional: true + + '@parcel/rust-darwin-x64@2.16.1': + optional: true + + '@parcel/rust-darwin-x64@2.16.4': + optional: true + + '@parcel/rust-linux-arm-gnueabihf@2.16.1': + optional: true + + '@parcel/rust-linux-arm-gnueabihf@2.16.4': + optional: true + + '@parcel/rust-linux-arm64-gnu@2.16.1': + optional: true + + '@parcel/rust-linux-arm64-gnu@2.16.4': + optional: true + + '@parcel/rust-linux-arm64-musl@2.16.1': + optional: true + + '@parcel/rust-linux-arm64-musl@2.16.4': + optional: true + + '@parcel/rust-linux-x64-gnu@2.16.1': + optional: true + + '@parcel/rust-linux-x64-gnu@2.16.4': + optional: true + + '@parcel/rust-linux-x64-musl@2.16.1': + optional: true + + '@parcel/rust-linux-x64-musl@2.16.4': + optional: true + + '@parcel/rust-win32-x64-msvc@2.16.1': + optional: true + + '@parcel/rust-win32-x64-msvc@2.16.4': + optional: true + + '@parcel/rust@2.16.1': + optionalDependencies: + '@parcel/rust-darwin-arm64': 2.16.1 + '@parcel/rust-darwin-x64': 2.16.1 + '@parcel/rust-linux-arm-gnueabihf': 2.16.1 + '@parcel/rust-linux-arm64-gnu': 2.16.1 + '@parcel/rust-linux-arm64-musl': 2.16.1 + '@parcel/rust-linux-x64-gnu': 2.16.1 + '@parcel/rust-linux-x64-musl': 2.16.1 + '@parcel/rust-win32-x64-msvc': 2.16.1 + + '@parcel/rust@2.16.4': + optionalDependencies: + '@parcel/rust-darwin-arm64': 2.16.4 + '@parcel/rust-darwin-x64': 2.16.4 + '@parcel/rust-linux-arm-gnueabihf': 2.16.4 + '@parcel/rust-linux-arm64-gnu': 2.16.4 + '@parcel/rust-linux-arm64-musl': 2.16.4 + '@parcel/rust-linux-x64-gnu': 2.16.4 + '@parcel/rust-linux-x64-musl': 2.16.4 + '@parcel/rust-win32-x64-msvc': 2.16.4 + + '@parcel/source-map@2.1.1': + dependencies: + detect-libc: 1.0.3 + + '@parcel/transformer-babel@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + browserslist: 4.27.0 + json5: 2.2.3 + nullthrows: 1.1.1 + semver: 7.7.3 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-css@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + browserslist: 4.27.0 + lightningcss: 1.30.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-html@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-image@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@parcel/transformer-js@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@swc/helpers': 0.5.17 + browserslist: 4.27.0 + nullthrows: 1.1.1 + regenerator-runtime: 0.14.1 + semver: 7.7.3 + transitivePeerDependencies: + - napi-wasm + + '@parcel/transformer-json@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + json5: 2.2.3 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-node@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-postcss@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + '@parcel/utils': 2.16.1 + clone: 2.1.2 + nullthrows: 1.1.1 + postcss-value-parser: 4.2.0 + semver: 7.7.3 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-posthtml@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-raw@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-react-refresh-wrap@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/error-overlay': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + react-refresh: 0.16.0 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/transformer-svg@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/plugin': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/rust': 2.16.1 + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/types-internal@2.16.1': + dependencies: + '@parcel/diagnostic': 2.16.1 + '@parcel/feature-flags': 2.16.1 + '@parcel/source-map': 2.1.1 + utility-types: 3.11.0 + + '@parcel/types-internal@2.16.4': + dependencies: + '@parcel/diagnostic': 2.16.4 + '@parcel/feature-flags': 2.16.4 + '@parcel/source-map': 2.1.1 + utility-types: 3.11.0 + + '@parcel/types@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types-internal': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/types@2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types-internal': 2.16.1 + '@parcel/workers': 2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/types@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/types-internal': 2.16.4 + '@parcel/workers': 2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17)) + transitivePeerDependencies: + - '@parcel/core' + - napi-wasm + + '@parcel/utils@2.16.1': + dependencies: + '@parcel/codeframe': 2.16.1 + '@parcel/diagnostic': 2.16.1 + '@parcel/logger': 2.16.1 + '@parcel/markdown-ansi': 2.16.1 + '@parcel/rust': 2.16.1 + '@parcel/source-map': 2.1.1 + chalk: 4.1.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@parcel/utils@2.16.4': + dependencies: + '@parcel/codeframe': 2.16.4 + '@parcel/diagnostic': 2.16.4 + '@parcel/logger': 2.16.4 + '@parcel/markdown-ansi': 2.16.4 + '@parcel/rust': 2.16.4 + '@parcel/source-map': 2.1.1 + chalk: 4.1.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-android-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.6': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.6': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.6': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.6': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.6': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + + '@parcel/watcher@2.5.6': + dependencies: + detect-libc: 2.1.2 + is-glob: 4.0.3 + node-addon-api: 7.1.1 + picomatch: 4.0.3 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 + + '@parcel/workers@2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/logger': 2.16.1 + '@parcel/profiler': 2.16.1 + '@parcel/types-internal': 2.16.1 + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@parcel/workers@2.16.1(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.4(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/logger': 2.16.1 + '@parcel/profiler': 2.16.1 + '@parcel/types-internal': 2.16.1 + '@parcel/utils': 2.16.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@parcel/workers@2.16.4(@parcel/core@2.16.4(@swc/helpers@0.5.17))': + dependencies: + '@parcel/core': 2.16.4(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.4 + '@parcel/logger': 2.16.4 + '@parcel/profiler': 2.16.4 + '@parcel/types-internal': 2.16.4 + '@parcel/utils': 2.16.4 + nullthrows: 1.1.1 + transitivePeerDependencies: + - napi-wasm + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.9': {} + + '@playwright/test@1.56.1': + dependencies: + playwright: 1.56.1 + + '@polka/url@1.0.0-next.29': {} + + '@puppeteer/browsers@2.10.13': + dependencies: + debug: 4.4.3 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.3 + tar-fs: 3.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color + + '@ramda/indexby@0.26.1': {} + + '@rc-component/async-validator@5.0.4': + dependencies: + '@babel/runtime': 7.28.4 + + '@rc-component/color-picker@2.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@ant-design/fast-color': 2.0.6 + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/context@1.4.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/mini-decimal@1.1.0': + dependencies: + '@babel/runtime': 7.28.4 + + '@rc-component/mutate-observer@1.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/portal@1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/qrcode@1.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/tour@1.15.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/portal': 1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@rc-component/trigger@2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/portal': 1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/actiongroup@3.7.21(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/actiongroup': 3.4.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/actiongroup@3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/actiongroup': 3.4.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/actiongroup@3.7.21(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/actiongroup': 3.4.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/autocomplete@3.0.0-rc.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/combobox': 3.14.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/listbox': 3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/searchfield': 3.8.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/autocomplete': 3.0.0-beta.3(react@17.0.2) + '@react-stately/combobox': 3.12.0(react@17.0.2) + '@react-types/autocomplete': 3.0.0-alpha.35(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/autocomplete@3.0.0-rc.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/combobox': 3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/searchfield': 3.8.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/autocomplete': 3.0.0-beta.3(react@18.3.1) + '@react-stately/combobox': 3.12.0(react@18.3.1) + '@react-types/autocomplete': 3.0.0-alpha.35(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/autocomplete@3.0.0-rc.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/combobox': 3.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/listbox': 3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/searchfield': 3.8.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/autocomplete': 3.0.0-beta.3(react@19.2.0) + '@react-stately/combobox': 3.12.0(react@19.2.0) + '@react-types/autocomplete': 3.0.0-alpha.35(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/breadcrumbs@3.5.29(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/link': 3.8.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/breadcrumbs': 3.7.17(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/breadcrumbs@3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/breadcrumbs': 3.7.17(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/breadcrumbs@3.5.29(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/link': 3.8.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/breadcrumbs': 3.7.17(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/button@3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/button@3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/button@3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/calendar@3.9.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/calendar': 3.9.0(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/calendar': 3.8.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/calendar@3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/calendar': 3.9.0(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/calendar': 3.8.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/calendar@3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/calendar': 3.9.0(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/calendar': 3.8.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/checkbox@3.16.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/toggle': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/checkbox': 3.7.2(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/checkbox@3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toggle': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/checkbox': 3.7.2(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/checkbox@3.16.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/toggle': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/checkbox': 3.7.2(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/collections@3.0.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + use-sync-external-store: 1.6.0(react@17.0.2) + + '@react-aria/collections@3.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.6.0(react@18.3.1) + + '@react-aria/collections@3.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.0) + + '@react-aria/color@3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/numberfield': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/slider': 3.8.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/spinbutton': 3.6.19(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/color': 3.9.2(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-types/color': 3.1.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/color@3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/numberfield': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/slider': 3.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/spinbutton': 3.6.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/color': 3.9.2(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/color': 3.1.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/color@3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/numberfield': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/slider': 3.8.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/spinbutton': 3.6.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/color': 3.9.2(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-types/color': 3.1.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/combobox@3.14.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/listbox': 3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/menu': 3.19.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/combobox': 3.12.0(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/combobox': 3.13.9(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/combobox@3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/combobox': 3.12.0(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/combobox': 3.13.9(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/combobox@3.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/listbox': 3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/menu': 3.19.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/combobox': 3.12.0(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/combobox': 3.13.9(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/datepicker@3.15.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/spinbutton': 3.6.19(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/datepicker': 3.15.2(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/calendar': 3.8.0(react@17.0.2) + '@react-types/datepicker': 3.13.2(react@17.0.2) + '@react-types/dialog': 3.5.22(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/datepicker@3.15.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/spinbutton': 3.6.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/datepicker': 3.15.2(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/calendar': 3.8.0(react@18.3.1) + '@react-types/datepicker': 3.13.2(react@18.3.1) + '@react-types/dialog': 3.5.22(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/datepicker@3.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/spinbutton': 3.6.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/datepicker': 3.15.2(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/calendar': 3.8.0(react@19.2.0) + '@react-types/datepicker': 3.13.2(react@19.2.0) + '@react-types/dialog': 3.5.22(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/dialog@3.5.31(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/dialog': 3.5.22(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/dialog@3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/dialog': 3.5.22(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/dialog@3.5.31(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/dialog': 3.5.22(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/disclosure@3.1.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/disclosure': 3.0.8(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/disclosure@3.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/disclosure': 3.0.8(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/disclosure@3.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/disclosure': 3.0.8(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/dnd@3.11.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/dnd': 3.7.1(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/dnd@3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/dnd': 3.7.1(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/dnd@3.11.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/dnd': 3.7.1(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/focus@3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/focus@3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/focus@3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/form@3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/form@3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/form@3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/grid@3.14.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/grid': 3.11.6(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/grid@3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/grid': 3.11.6(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/grid@3.14.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/grid': 3.11.6(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/gridlist@3.14.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/grid': 3.14.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/tree': 3.9.3(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/gridlist@3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/grid': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/gridlist@3.14.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/grid': 3.14.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/tree': 3.9.3(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/i18n@3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/message': 3.1.8 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/i18n@3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/message': 3.1.8 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/i18n@3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/message': 3.1.8 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/interactions@3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/flags': 3.1.2 + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/interactions@3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/interactions@3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/flags': 3.1.2 + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/label@3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/label@3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/label@3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/landmark@3.0.7(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + use-sync-external-store: 1.6.0(react@17.0.2) + + '@react-aria/landmark@3.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.6.0(react@18.3.1) + + '@react-aria/landmark@3.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.0) + + '@react-aria/link@3.8.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/link': 3.6.5(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/link@3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/link': 3.6.5(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/link@3.8.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/link': 3.6.5(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/listbox@3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/listbox': 3.7.4(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/listbox@3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/listbox': 3.7.4(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/listbox@3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/listbox': 3.7.4(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/live-announcer@3.4.4': + dependencies: + '@swc/helpers': 0.5.17 + + '@react-aria/menu@3.19.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/menu': 3.9.8(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/tree': 3.9.3(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/menu': 3.10.5(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/menu@3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/menu': 3.9.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/menu': 3.10.5(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/menu@3.19.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/menu': 3.9.8(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/tree': 3.9.3(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/menu': 3.10.5(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/meter@3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/meter': 3.4.13(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/meter@3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/meter': 3.4.13(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/meter@3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/meter': 3.4.13(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/numberfield@3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/spinbutton': 3.6.19(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/numberfield': 3.10.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/numberfield': 3.8.15(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/numberfield@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/spinbutton': 3.6.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/numberfield': 3.10.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/numberfield': 3.8.15(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/numberfield@3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/spinbutton': 3.6.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/numberfield': 3.10.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/numberfield': 3.8.15(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/overlays@3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/overlays@3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/overlays@3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/progress@3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/progress': 3.5.16(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/progress@3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/progress': 3.5.16(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/progress@3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/progress': 3.5.16(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/radio@3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/radio': 3.11.2(react@17.0.2) + '@react-types/radio': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/radio@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/radio': 3.11.2(react@18.3.1) + '@react-types/radio': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/radio@3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/radio': 3.11.2(react@19.2.0) + '@react-types/radio': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/searchfield@3.8.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/searchfield': 3.5.16(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/searchfield': 3.6.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/searchfield@3.8.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/searchfield': 3.5.16(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/searchfield': 3.6.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/searchfield@3.8.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/searchfield': 3.5.16(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/searchfield': 3.6.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/select@3.17.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/listbox': 3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/menu': 3.19.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/select': 3.8.0(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/select': 3.11.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/select@3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/select': 3.8.0(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/select': 3.11.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/select@3.17.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/listbox': 3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/menu': 3.19.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/select': 3.8.0(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/select': 3.11.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/selection@3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/selection@3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/selection@3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/separator@3.4.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/separator@3.4.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/separator@3.4.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/slider@3.8.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/slider': 3.7.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/slider': 3.8.2(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/slider@3.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/slider': 3.7.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/slider': 3.8.2(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/slider@3.8.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/slider': 3.7.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/slider': 3.8.2(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/spinbutton@3.6.19(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/spinbutton@3.6.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/spinbutton@3.6.19(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/ssr@3.9.10(react@17.0.2)': + dependencies: + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-aria/ssr@3.9.10(react@18.3.1)': + dependencies: + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-aria/ssr@3.9.10(react@19.2.0)': + dependencies: + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-aria/switch@3.7.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/toggle': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/switch': 3.5.15(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/switch@3.7.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/toggle': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/switch': 3.5.15(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/switch@3.7.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/toggle': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/switch': 3.5.15(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/table@3.17.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/grid': 3.14.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/flags': 3.1.2 + '@react-stately/table': 3.15.1(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/table': 3.13.4(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/table@3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/grid': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/table': 3.13.4(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/table@3.17.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/grid': 3.14.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/flags': 3.1.2 + '@react-stately/table': 3.15.1(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/table': 3.13.4(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/tabs@3.10.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/tabs': 3.8.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/tabs': 3.3.19(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/tabs@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/tabs': 3.8.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tabs': 3.3.19(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/tabs@3.10.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/tabs': 3.8.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/tabs': 3.3.19(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/tag@3.7.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/tag@3.7.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/tag@3.7.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/textfield@3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/textfield': 3.12.6(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/textfield@3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/textfield': 3.12.6(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/textfield@3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/textfield': 3.12.6(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/toast@3.0.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/landmark': 3.0.7(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toast': 3.1.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/toast@3.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/landmark': 3.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toast': 3.1.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/toast@3.0.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/landmark': 3.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toast': 3.1.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/toggle@3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/toggle@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/toggle@3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/toolbar@3.0.0-beta.21(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/toolbar@3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/toolbar@3.0.0-beta.21(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/tooltip@3.8.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/tooltip': 3.5.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/tooltip': 3.4.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/tooltip@3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tooltip': 3.4.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/tooltip@3.8.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/tooltip': 3.5.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/tooltip': 3.4.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/tree@3.1.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/tree': 3.9.3(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/tree@3.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/tree@3.1.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/gridlist': 3.14.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/tree': 3.9.3(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/utils@3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-stately/flags': 3.1.2 + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/utils@3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/utils@3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-stately/flags': 3.1.2 + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/virtualizer@4.1.10(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/virtualizer@4.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/virtualizer@4.1.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-aria/visually-hidden@3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-aria/visually-hidden@3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/visually-hidden@3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/accordion@3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/accordion@3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/accordion@3.0.13(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/actionbar@3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-types/actionbar': 3.1.19(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/actionbar@3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-types/actionbar': 3.1.19(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/actionbar@3.6.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/actiongroup': 3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-types/actionbar': 3.1.19(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/actiongroup@3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/actiongroup': 3.7.21(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/actiongroup': 3.4.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/actiongroup@3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/actiongroup': 3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/actiongroup': 3.4.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/actiongroup@3.11.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/actiongroup': 3.7.21(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/actiongroup': 3.4.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/avatar@3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/avatar': 3.0.19(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/avatar@3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/avatar': 3.0.19(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/avatar@3.0.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/avatar': 3.0.19(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/badge@3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/badge': 3.1.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/badge@3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/badge': 3.1.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/badge@3.1.30(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/badge': 3.1.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/breadcrumbs@3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/breadcrumbs': 3.5.29(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-types/breadcrumbs': 3.7.17(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/breadcrumbs@3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/breadcrumbs': 3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-types/breadcrumbs': 3.7.17(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/breadcrumbs@3.9.24(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/breadcrumbs': 3.5.29(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-types/breadcrumbs': 3.7.17(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/button@3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/button@3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/button@3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/buttongroup@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/buttongroup': 3.3.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/buttongroup@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/buttongroup': 3.3.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/buttongroup@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/buttongroup': 3.3.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/calendar@3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/calendar': 3.9.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/calendar': 3.9.0(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/calendar': 3.8.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/calendar@3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/calendar': 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/calendar': 3.9.0(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/calendar': 3.8.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/calendar@3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/calendar': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/calendar': 3.9.0(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/calendar': 3.8.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/checkbox@3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/checkbox': 3.16.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/checkbox': 3.7.2(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/checkbox@3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/checkbox': 3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/checkbox': 3.7.2(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/checkbox@3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/checkbox': 3.16.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/checkbox': 3.7.2(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/color@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/color': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/color': 3.9.2(react@17.0.2) + '@react-types/color': 3.1.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/textfield': 3.12.6(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/color@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/color': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/color': 3.9.2(react@18.3.1) + '@react-types/color': 3.1.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/textfield': 3.12.6(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/color@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/color': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/color': 3.9.2(react@19.2.0) + '@react-types/color': 3.1.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/textfield': 3.12.6(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/combobox@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/combobox': 3.14.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/dialog': 3.5.31(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/form': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/combobox': 3.12.0(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/combobox': 3.13.9(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/combobox@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/combobox': 3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/combobox': 3.12.0(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/combobox': 3.13.9(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/combobox@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/combobox': 3.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/dialog': 3.5.31(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/form': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/combobox': 3.12.0(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/combobox': 3.13.9(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/contextualhelp@3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/contextualhelp': 3.2.22(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/contextualhelp@3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/contextualhelp': 3.2.22(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/contextualhelp@3.6.28(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/contextualhelp': 3.2.22(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/datepicker@3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/datepicker': 3.15.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/datepicker': 3.15.2(react@17.0.2) + '@react-types/datepicker': 3.13.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/datepicker@3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/datepicker': 3.15.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/datepicker': 3.15.2(react@18.3.1) + '@react-types/datepicker': 3.13.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/datepicker@3.14.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/datepicker': 3.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/calendar': 3.7.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dialog': 3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/datepicker': 3.15.2(react@19.2.0) + '@react-types/datepicker': 3.13.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/dialog@3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/dialog': 3.5.31(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/divider': 3.5.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/dialog': 3.5.22(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/dialog@3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/dialog': 3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/divider': 3.5.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/dialog': 3.5.22(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/dialog@3.9.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/dialog': 3.5.31(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/buttongroup': 3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/divider': 3.5.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/view': 3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/dialog': 3.5.22(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/divider@3.5.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/separator': 3.4.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/divider': 3.3.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/divider@3.5.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/separator': 3.4.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/divider': 3.3.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/divider@3.5.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/separator': 3.4.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/divider': 3.3.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/dnd@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/dnd': 3.11.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/dnd': 3.7.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/dnd@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/dnd': 3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/dnd': 3.7.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/dnd@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/dnd': 3.11.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/dnd': 3.7.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/dropzone@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/dropzone@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/dropzone@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/filetrigger@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/filetrigger@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/filetrigger@3.0.18(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/form@3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-types/form': 3.7.16(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/form@3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/form': 3.7.16(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/form@3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-types/form': 3.7.16(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/icon@3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/icon@3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/icon@3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/illustratedmessage@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/illustratedmessage': 3.3.21(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/illustratedmessage@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/illustratedmessage': 3.3.21(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/illustratedmessage@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/illustratedmessage': 3.3.21(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/image@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/image': 3.5.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/image@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/image': 3.5.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/image@3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/image': 3.5.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/inlinealert@3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/inlinealert@3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/inlinealert@3.2.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/label@3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/label': 3.9.15(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/label@3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/label': 3.9.15(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/label@3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/label': 3.9.15(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/labeledvalue@3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/labeledvalue@3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/labeledvalue@3.2.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/layout@3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/layout': 3.3.27(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/layout@3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/layout': 3.3.27(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/layout@3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/layout': 3.3.27(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/link@3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/link': 3.8.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/link': 3.6.5(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/link@3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/link': 3.6.5(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/link@3.6.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/link': 3.8.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/link': 3.6.5(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/list@3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/gridlist': 3.14.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/virtualizer': 4.1.10(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/layout': 4.5.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + + '@react-spectrum/list@3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/gridlist': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/virtualizer': 4.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/layout': 4.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@react-spectrum/list@3.10.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/gridlist': 3.14.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/virtualizer': 4.1.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/layout': 4.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + + '@react-spectrum/listbox@3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/listbox': 3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/virtualizer': 4.1.10(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/layout': 4.5.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/listbox': 3.7.4(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/listbox@3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/virtualizer': 4.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/layout': 4.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/listbox': 3.7.4(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/listbox@3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/listbox': 3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/virtualizer': 4.1.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/layout': 4.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/listbox': 3.7.4(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/menu@3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/menu': 3.19.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/separator': 3.4.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/menu': 3.9.8(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-stately/tree': 3.9.3(react@17.0.2) + '@react-types/menu': 3.10.5(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/menu@3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/separator': 3.4.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/menu': 3.9.8(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/menu': 3.10.5(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/menu@3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/menu': 3.19.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/separator': 3.4.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/menu': 3.9.8(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-stately/tree': 3.9.3(react@19.2.0) + '@react-types/menu': 3.10.5(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/meter@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/meter': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/meter': 3.4.13(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/meter@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/meter': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/meter': 3.4.13(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/meter@3.5.14(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/meter': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/meter': 3.4.13(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/numberfield@3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/numberfield': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/numberfield': 3.10.2(react@17.0.2) + '@react-types/button': 3.14.1(react@17.0.2) + '@react-types/numberfield': 3.8.15(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/numberfield@3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/numberfield': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/numberfield': 3.10.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/numberfield': 3.8.15(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/numberfield@3.10.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/numberfield': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/numberfield': 3.10.2(react@19.2.0) + '@react-types/button': 3.14.1(react@19.2.0) + '@react-types/numberfield': 3.8.15(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@spectrum-icons/workflow': 4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/overlays@5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + + '@react-spectrum/overlays@5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@react-spectrum/overlays@5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + + '@react-spectrum/picker@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/select': 3.17.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/select': 3.8.0(react@17.0.2) + '@react-types/select': 3.11.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/picker@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/select': 3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/select': 3.8.0(react@18.3.1) + '@react-types/select': 3.11.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/picker@3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/select': 3.17.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/listbox': 3.15.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/select': 3.8.0(react@19.2.0) + '@react-types/select': 3.11.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/progress@3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/progress': 3.5.16(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/progress@3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/progress': 3.5.16(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/progress@3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/progress': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/progress': 3.5.16(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/provider@3.10.11(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/provider': 3.8.13(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/provider@3.10.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/provider': 3.8.13(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/provider': 3.8.13(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/radio@3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/radio': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/radio': 3.11.2(react@17.0.2) + '@react-types/radio': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/radio@3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/radio': 3.11.2(react@18.3.1) + '@react-types/radio': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/radio@3.7.21(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/radio': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/radio': 3.11.2(react@19.2.0) + '@react-types/radio': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/searchfield@3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/searchfield': 3.8.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/searchfield': 3.5.16(react@17.0.2) + '@react-types/searchfield': 3.6.6(react@17.0.2) + '@react-types/textfield': 3.12.6(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/searchfield@3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/searchfield': 3.8.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/searchfield': 3.5.16(react@18.3.1) + '@react-types/searchfield': 3.6.6(react@18.3.1) + '@react-types/textfield': 3.12.6(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/searchfield@3.8.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/searchfield': 3.8.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/textfield': 3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/searchfield': 3.5.16(react@19.2.0) + '@react-types/searchfield': 3.6.6(react@19.2.0) + '@react-types/textfield': 3.12.6(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/slider@3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/slider': 3.8.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/slider': 3.7.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/slider': 3.8.2(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/slider@3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/slider': 3.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/slider': 3.7.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/slider': 3.8.2(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/slider@3.8.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/slider': 3.8.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/slider': 3.7.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/slider': 3.8.2(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/statuslight@3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/statuslight': 3.3.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/statuslight@3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/statuslight': 3.3.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/statuslight@3.5.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/statuslight': 3.3.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/switch@3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/switch': 3.7.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/switch': 3.5.15(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/switch@3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/switch': 3.7.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/switch': 3.5.15(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/switch@3.6.6(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/switch': 3.7.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/switch': 3.5.15(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/table@3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/table': 3.17.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/virtualizer': 4.1.10(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/flags': 3.1.2 + '@react-stately/layout': 4.5.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/table': 3.15.1(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/table': 3.13.4(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/table@3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/virtualizer': 4.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-stately/layout': 4.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/table': 3.13.4(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/table@3.17.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/table': 3.17.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/virtualizer': 4.1.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/dnd': 3.6.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/layout': 3.6.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/menu': 3.22.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/progress': 3.7.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/tooltip': 3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/flags': 3.1.2 + '@react-stately/layout': 4.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/table': 3.15.1(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/table': 3.13.4(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/tabs@3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tabs': 3.10.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/tabs': 3.8.6(react@17.0.2) + '@react-types/select': 3.11.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/tabs': 3.3.19(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/tabs@3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tabs': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/tabs': 3.8.6(react@18.3.1) + '@react-types/select': 3.11.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tabs': 3.3.19(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/tabs@3.8.27(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tabs': 3.10.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/picker': 3.16.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/tabs': 3.8.6(react@19.2.0) + '@react-types/select': 3.11.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/tabs': 3.3.19(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/tag@3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tag': 3.7.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/tag@3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tag': 3.7.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/tag@3.3.7(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tag': 3.7.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/text@3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/text': 3.3.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/text@3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/text': 3.3.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/text@3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/text': 3.3.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/textfield@3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/textfield': 3.12.6(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/textfield@3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/textfield': 3.12.6(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/textfield@3.14.2(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/form': 3.7.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/label': 3.16.19(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/textfield': 3.12.6(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/theme-dark@3.5.22(react@17.0.2)': + dependencies: + '@react-types/provider': 3.8.13(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-spectrum/theme-dark@3.5.22(react@18.3.1)': + dependencies: + '@react-types/provider': 3.8.13(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-spectrum/theme-dark@3.5.22(react@19.2.0)': + dependencies: + '@react-types/provider': 3.8.13(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-spectrum/theme-default@3.5.22(react@17.0.2)': + dependencies: + '@react-types/provider': 3.8.13(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-spectrum/theme-default@3.5.22(react@18.3.1)': + dependencies: + '@react-types/provider': 3.8.13(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-spectrum/theme-default@3.5.22(react@19.2.0)': + dependencies: + '@react-types/provider': 3.8.13(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-spectrum/theme-light@3.4.22(react@17.0.2)': + dependencies: + '@react-types/provider': 3.8.13(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-spectrum/theme-light@3.4.22(react@18.3.1)': + dependencies: + '@react-types/provider': 3.8.13(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-spectrum/theme-light@3.4.22(react@19.2.0)': + dependencies: + '@react-types/provider': 3.8.13(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-spectrum/toast@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/toast': 3.0.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/toast': 3.1.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + use-sync-external-store: 1.6.0(react@17.0.2) + + '@react-spectrum/toast@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toast': 3.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toast': 3.1.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.6.0(react@18.3.1) + + '@react-spectrum/toast@3.1.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/toast': 3.0.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/button': 3.17.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/toast': 3.1.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.0) + + '@react-spectrum/tooltip@3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tooltip': 3.8.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/tooltip': 3.5.8(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/tooltip': 3.4.21(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/tooltip@3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tooltip': 3.4.21(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/tooltip@3.7.11(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tooltip': 3.8.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/overlays': 5.9.0(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/tooltip': 3.5.8(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/tooltip': 3.4.21(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/tree@3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tree': 3.1.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-aria-components: 1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/tree@3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tree': 3.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-aria-components: 1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/tree@3.1.8(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tree': 3.1.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/checkbox': 3.10.4(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/text': 3.5.22(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@spectrum-icons/ui': 3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-aria-components: 1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/utils@3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/utils@3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/utils@3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/view@3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/view': 3.4.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/view@3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/view': 3.4.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/view@3.6.23(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/view': 3.4.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-spectrum/well@3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/utils': 3.12.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/well': 3.3.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-spectrum/well@3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/utils': 3.12.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/well': 3.3.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spectrum/well@3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/utils': 3.12.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/well': 3.3.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-stately/autocomplete@3.0.0-beta.3(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/autocomplete@3.0.0-beta.3(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/autocomplete@3.0.0-beta.3(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/calendar@3.9.0(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/calendar': 3.8.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/calendar@3.9.0(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/calendar': 3.8.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/calendar@3.9.0(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/calendar': 3.8.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/checkbox@3.7.2(react@17.0.2)': + dependencies: + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/checkbox@3.7.2(react@18.3.1)': + dependencies: + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/checkbox@3.7.2(react@19.2.0)': + dependencies: + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/collections@3.12.8(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/collections@3.12.8(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/collections@3.12.8(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/color@3.9.2(react@17.0.2)': + dependencies: + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/numberfield': 3.10.2(react@17.0.2) + '@react-stately/slider': 3.7.2(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/color': 3.1.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/color@3.9.2(react@18.3.1)': + dependencies: + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/numberfield': 3.10.2(react@18.3.1) + '@react-stately/slider': 3.7.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/color': 3.1.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/color@3.9.2(react@19.2.0)': + dependencies: + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/numberfield': 3.10.2(react@19.2.0) + '@react-stately/slider': 3.7.2(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/color': 3.1.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/combobox@3.12.0(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/combobox': 3.13.9(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/combobox@3.12.0(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/combobox': 3.13.9(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/combobox@3.12.0(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/combobox': 3.13.9(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/data@3.14.1(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/data@3.14.1(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/data@3.14.1(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/datepicker@3.15.2(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/datepicker': 3.13.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/datepicker@3.15.2(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/datepicker': 3.13.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/datepicker@3.15.2(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/datepicker': 3.13.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/disclosure@3.0.8(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/disclosure@3.0.8(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/disclosure@3.0.8(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/dnd@3.7.1(react@17.0.2)': + dependencies: + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/dnd@3.7.1(react@18.3.1)': + dependencies: + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/dnd@3.7.1(react@19.2.0)': + dependencies: + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/flags@3.1.2': + dependencies: + '@swc/helpers': 0.5.17 + + '@react-stately/form@3.2.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/form@3.2.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/form@3.2.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/grid@3.11.6(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/grid@3.11.6(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/grid@3.11.6(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/layout@4.5.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/table': 3.15.1(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/table': 3.13.4(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-stately/layout@4.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/table': 3.13.4(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-stately/layout@4.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/table': 3.15.1(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/table': 3.13.4(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-stately/list@3.13.1(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/list@3.13.1(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/list@3.13.1(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/menu@3.9.8(react@17.0.2)': + dependencies: + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-types/menu': 3.10.5(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/menu@3.9.8(react@18.3.1)': + dependencies: + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/menu': 3.10.5(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/menu@3.9.8(react@19.2.0)': + dependencies: + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-types/menu': 3.10.5(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/numberfield@3.10.2(react@17.0.2)': + dependencies: + '@internationalized/number': 3.6.5 + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/numberfield': 3.8.15(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/numberfield@3.10.2(react@18.3.1)': + dependencies: + '@internationalized/number': 3.6.5 + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/numberfield': 3.8.15(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/numberfield@3.10.2(react@19.2.0)': + dependencies: + '@internationalized/number': 3.6.5 + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/numberfield': 3.8.15(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/overlays@3.6.20(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/overlays@3.6.20(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/overlays@3.6.20(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/radio@3.11.2(react@17.0.2)': + dependencies: + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/radio': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/radio@3.11.2(react@18.3.1)': + dependencies: + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/radio': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/radio@3.11.2(react@19.2.0)': + dependencies: + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/radio': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/searchfield@3.5.16(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/searchfield': 3.6.6(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/searchfield@3.5.16(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/searchfield': 3.6.6(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/searchfield@3.5.16(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/searchfield': 3.6.6(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/select@3.8.0(react@17.0.2)': + dependencies: + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/select': 3.11.0(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/select@3.8.0(react@18.3.1)': + dependencies: + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/select': 3.11.0(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/select@3.8.0(react@19.2.0)': + dependencies: + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/select': 3.11.0(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/selection@3.20.6(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/selection@3.20.6(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/selection@3.20.6(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/slider@3.7.2(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/slider': 3.8.2(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/slider@3.7.2(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/slider': 3.8.2(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/slider@3.7.2(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/slider': 3.8.2(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/table@3.15.1(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/flags': 3.1.2 + '@react-stately/grid': 3.11.6(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/table': 3.13.4(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/table@3.15.1(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-stately/grid': 3.11.6(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/table': 3.13.4(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/table@3.15.1(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/flags': 3.1.2 + '@react-stately/grid': 3.11.6(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/table': 3.13.4(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/tabs@3.8.6(react@17.0.2)': + dependencies: + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/tabs': 3.3.19(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/tabs@3.8.6(react@18.3.1)': + dependencies: + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tabs': 3.3.19(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/tabs@3.8.6(react@19.2.0)': + dependencies: + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/tabs': 3.3.19(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/toast@3.1.2(react@17.0.2)': + dependencies: + '@swc/helpers': 0.5.17 + react: 17.0.2 + use-sync-external-store: 1.6.0(react@17.0.2) + + '@react-stately/toast@3.1.2(react@18.3.1)': + dependencies: + '@swc/helpers': 0.5.17 + react: 18.3.1 + use-sync-external-store: 1.6.0(react@18.3.1) + + '@react-stately/toast@3.1.2(react@19.2.0)': + dependencies: + '@swc/helpers': 0.5.17 + react: 19.2.0 + use-sync-external-store: 1.6.0(react@19.2.0) + + '@react-stately/toggle@3.9.2(react@17.0.2)': + dependencies: + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/checkbox': 3.10.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/toggle@3.9.2(react@18.3.1)': + dependencies: + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/toggle@3.9.2(react@19.2.0)': + dependencies: + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/checkbox': 3.10.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/tooltip@3.5.8(react@17.0.2)': + dependencies: + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-types/tooltip': 3.4.21(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/tooltip@3.5.8(react@18.3.1)': + dependencies: + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/tooltip': 3.4.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/tooltip@3.5.8(react@19.2.0)': + dependencies: + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-types/tooltip': 3.4.21(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/tree@3.9.3(react@17.0.2)': + dependencies: + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/tree@3.9.3(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/tree@3.9.3(react@19.2.0)': + dependencies: + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/utils@3.10.8(react@17.0.2)': + dependencies: + '@swc/helpers': 0.5.17 + react: 17.0.2 + + '@react-stately/utils@3.10.8(react@18.3.1)': + dependencies: + '@swc/helpers': 0.5.17 + react: 18.3.1 + + '@react-stately/utils@3.10.8(react@19.2.0)': + dependencies: + '@swc/helpers': 0.5.17 + react: 19.2.0 + + '@react-stately/virtualizer@4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@react-stately/virtualizer@4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-stately/virtualizer@4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@react-types/actionbar@3.1.19(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/actionbar@3.1.19(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/actionbar@3.1.19(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/actiongroup@3.4.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/actiongroup@3.4.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/actiongroup@3.4.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/autocomplete@3.0.0-alpha.35(react@17.0.2)': + dependencies: + '@react-types/combobox': 3.13.9(react@17.0.2) + '@react-types/searchfield': 3.6.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/autocomplete@3.0.0-alpha.35(react@18.3.1)': + dependencies: + '@react-types/combobox': 3.13.9(react@18.3.1) + '@react-types/searchfield': 3.6.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/autocomplete@3.0.0-alpha.35(react@19.2.0)': + dependencies: + '@react-types/combobox': 3.13.9(react@19.2.0) + '@react-types/searchfield': 3.6.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/avatar@3.0.19(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/avatar@3.0.19(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/avatar@3.0.19(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/badge@3.1.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/badge@3.1.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/badge@3.1.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/breadcrumbs@3.7.17(react@17.0.2)': + dependencies: + '@react-types/link': 3.6.5(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/breadcrumbs@3.7.17(react@18.3.1)': + dependencies: + '@react-types/link': 3.6.5(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/breadcrumbs@3.7.17(react@19.2.0)': + dependencies: + '@react-types/link': 3.6.5(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/button@3.14.1(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/button@3.14.1(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/button@3.14.1(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/buttongroup@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/buttongroup@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/buttongroup@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/calendar@3.8.0(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/calendar@3.8.0(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/calendar@3.8.0(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/checkbox@3.10.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/checkbox@3.10.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/checkbox@3.10.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/color@3.1.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/slider': 3.8.2(react@17.0.2) + react: 17.0.2 + + '@react-types/color@3.1.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/slider': 3.8.2(react@18.3.1) + react: 18.3.1 + + '@react-types/color@3.1.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/slider': 3.8.2(react@19.2.0) + react: 19.2.0 + + '@react-types/combobox@3.13.9(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/combobox@3.13.9(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/combobox@3.13.9(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/contextualhelp@3.2.22(react@17.0.2)': + dependencies: + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/contextualhelp@3.2.22(react@18.3.1)': + dependencies: + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/contextualhelp@3.2.22(react@19.2.0)': + dependencies: + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/datepicker@3.13.2(react@17.0.2)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/calendar': 3.8.0(react@17.0.2) + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/datepicker@3.13.2(react@18.3.1)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/calendar': 3.8.0(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/datepicker@3.13.2(react@19.2.0)': + dependencies: + '@internationalized/date': 3.10.0 + '@react-types/calendar': 3.8.0(react@19.2.0) + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/dialog@3.5.22(react@17.0.2)': + dependencies: + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/dialog@3.5.22(react@18.3.1)': + dependencies: + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/dialog@3.5.22(react@19.2.0)': + dependencies: + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/divider@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/divider@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/divider@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/form@3.7.16(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/form@3.7.16(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/form@3.7.16(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/grid@3.3.6(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/grid@3.3.6(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/grid@3.3.6(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/illustratedmessage@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/illustratedmessage@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/illustratedmessage@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/image@3.5.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/image@3.5.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/image@3.5.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/label@3.9.15(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/label@3.9.15(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/label@3.9.15(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/layout@3.3.27(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/layout@3.3.27(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/layout@3.3.27(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/link@3.6.5(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/link@3.6.5(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/link@3.6.5(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/listbox@3.7.4(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/listbox@3.7.4(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/listbox@3.7.4(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/menu@3.10.5(react@17.0.2)': + dependencies: + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/menu@3.10.5(react@18.3.1)': + dependencies: + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/menu@3.10.5(react@19.2.0)': + dependencies: + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/meter@3.4.13(react@17.0.2)': + dependencies: + '@react-types/progress': 3.5.16(react@17.0.2) + react: 17.0.2 + + '@react-types/meter@3.4.13(react@18.3.1)': + dependencies: + '@react-types/progress': 3.5.16(react@18.3.1) + react: 18.3.1 + + '@react-types/meter@3.4.13(react@19.2.0)': + dependencies: + '@react-types/progress': 3.5.16(react@19.2.0) + react: 19.2.0 + + '@react-types/numberfield@3.8.15(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/numberfield@3.8.15(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/numberfield@3.8.15(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/overlays@3.9.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/overlays@3.9.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/overlays@3.9.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/progress@3.5.16(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/progress@3.5.16(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/progress@3.5.16(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/provider@3.8.13(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/provider@3.8.13(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/provider@3.8.13(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/radio@3.9.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/radio@3.9.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/radio@3.9.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/searchfield@3.6.6(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/textfield': 3.12.6(react@17.0.2) + react: 17.0.2 + + '@react-types/searchfield@3.6.6(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/textfield': 3.12.6(react@18.3.1) + react: 18.3.1 + + '@react-types/searchfield@3.6.6(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/textfield': 3.12.6(react@19.2.0) + react: 19.2.0 + + '@react-types/select@3.11.0(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/select@3.11.0(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/select@3.11.0(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/shared@3.32.1(react@17.0.2)': + dependencies: + react: 17.0.2 + + '@react-types/shared@3.32.1(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@react-types/shared@3.32.1(react@19.2.0)': + dependencies: + react: 19.2.0 + + '@react-types/slider@3.8.2(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/slider@3.8.2(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/slider@3.8.2(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/statuslight@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/statuslight@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/statuslight@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/switch@3.5.15(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/switch@3.5.15(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/switch@3.5.15(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/table@3.13.4(react@17.0.2)': + dependencies: + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/table@3.13.4(react@18.3.1)': + dependencies: + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/table@3.13.4(react@19.2.0)': + dependencies: + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/tabs@3.3.19(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/tabs@3.3.19(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/tabs@3.3.19(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/text@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/text@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/text@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/textfield@3.12.6(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/textfield@3.12.6(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/textfield@3.12.6(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/tooltip@3.4.21(react@17.0.2)': + dependencies: + '@react-types/overlays': 3.9.2(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/tooltip@3.4.21(react@18.3.1)': + dependencies: + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/tooltip@3.4.21(react@19.2.0)': + dependencies: + '@react-types/overlays': 3.9.2(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/view@3.4.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/view@3.4.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/view@3.4.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@react-types/well@3.3.21(react@17.0.2)': + dependencies: + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + '@react-types/well@3.3.21(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + '@react-types/well@3.3.21(react@19.2.0)': + dependencies: + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + '@rematch/core@2.2.0(redux@4.2.1)': + dependencies: + redux: 4.2.1 + + '@rolldown/pluginutils@1.0.0-beta.47': {} + + '@rollup/plugin-babel@6.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.53.1)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@rollup/pluginutils': 5.3.0(rollup@4.53.1) + optionalDependencies: + '@types/babel__core': 7.20.5 + rollup: 4.53.1 + transitivePeerDependencies: + - supports-color + + '@rollup/plugin-commonjs@29.0.0(rollup@4.53.1)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.53.1) + commondir: 1.0.1 + estree-walker: 2.0.2 + fdir: 6.5.0(picomatch@4.0.3) + is-reference: 1.2.1 + magic-string: 0.30.21 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.53.1 + + '@rollup/plugin-node-resolve@16.0.3(rollup@4.53.1)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.53.1) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.11 + optionalDependencies: + rollup: 4.53.1 + + '@rollup/plugin-terser@0.4.4(rollup@4.53.1)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.44.1 + optionalDependencies: + rollup: 4.53.1 + + '@rollup/pluginutils@5.3.0(rollup@4.53.1)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.53.1 + + '@rollup/rollup-android-arm-eabi@4.53.1': + optional: true + + '@rollup/rollup-android-arm64@4.53.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.53.1': + optional: true + + '@rollup/rollup-darwin-x64@4.53.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.53.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.53.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.53.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.53.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.53.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.53.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.53.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.53.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.53.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.53.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.53.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.53.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.53.1': + optional: true + + '@rtsao/scc@1.1.0': {} + + '@spectrum-icons/illustrations@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@spectrum-icons/illustrations@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@spectrum-icons/illustrations@3.6.26(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@spectrum-icons/ui@3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@adobe/react-spectrum-ui': 1.2.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@babel/runtime': 7.28.4 + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@spectrum-icons/ui@3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@adobe/react-spectrum-ui': 1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@babel/runtime': 7.28.4 + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@spectrum-icons/ui@3.6.20(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@adobe/react-spectrum-ui': 1.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@babel/runtime': 7.28.4 + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@spectrum-icons/workflow@4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + dependencies: + '@adobe/react-spectrum-workflow': 2.3.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + '@spectrum-icons/workflow@4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@adobe/react-spectrum-workflow': 2.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@spectrum-icons/workflow@4.2.25(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@adobe/react-spectrum-workflow': 2.3.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/icon': 3.8.9(@react-spectrum/provider@3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-spectrum/provider': 3.10.11(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@swc/helpers': 0.5.17 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + '@standard-schema/spec@1.0.0': {} + + '@swc/core-darwin-arm64@1.15.1': + optional: true + + '@swc/core-darwin-arm64@1.15.11': + optional: true + + '@swc/core-darwin-x64@1.15.1': + optional: true + + '@swc/core-darwin-x64@1.15.11': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.1': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.11': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.1': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.11': + optional: true + + '@swc/core-linux-arm64-musl@1.15.1': + optional: true + + '@swc/core-linux-arm64-musl@1.15.11': + optional: true + + '@swc/core-linux-x64-gnu@1.15.1': + optional: true + + '@swc/core-linux-x64-gnu@1.15.11': + optional: true + + '@swc/core-linux-x64-musl@1.15.1': + optional: true + + '@swc/core-linux-x64-musl@1.15.11': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.1': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.11': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.1': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.11': + optional: true + + '@swc/core-win32-x64-msvc@1.15.1': + optional: true + + '@swc/core-win32-x64-msvc@1.15.11': + optional: true + + '@swc/core@1.15.1(@swc/helpers@0.5.17)': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.1 + '@swc/core-darwin-x64': 1.15.1 + '@swc/core-linux-arm-gnueabihf': 1.15.1 + '@swc/core-linux-arm64-gnu': 1.15.1 + '@swc/core-linux-arm64-musl': 1.15.1 + '@swc/core-linux-x64-gnu': 1.15.1 + '@swc/core-linux-x64-musl': 1.15.1 + '@swc/core-win32-arm64-msvc': 1.15.1 + '@swc/core-win32-ia32-msvc': 1.15.1 + '@swc/core-win32-x64-msvc': 1.15.1 + '@swc/helpers': 0.5.17 + + '@swc/core@1.15.11(@swc/helpers@0.5.17)': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.25 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.11 + '@swc/core-darwin-x64': 1.15.11 + '@swc/core-linux-arm-gnueabihf': 1.15.11 + '@swc/core-linux-arm64-gnu': 1.15.11 + '@swc/core-linux-arm64-musl': 1.15.11 + '@swc/core-linux-x64-gnu': 1.15.11 + '@swc/core-linux-x64-musl': 1.15.11 + '@swc/core-win32-arm64-msvc': 1.15.11 + '@swc/core-win32-ia32-msvc': 1.15.11 + '@swc/core-win32-x64-msvc': 1.15.11 + '@swc/helpers': 0.5.17 + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + + '@swc/types@0.1.25': + dependencies: + '@swc/counter': 0.1.3 + + '@tootallnate/quickjs-emscripten@0.23.0': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} + + '@types/estree@0.0.46': {} + + '@types/estree@1.0.8': {} + + '@types/glob@7.2.0': + dependencies: + '@types/minimatch': 6.0.0 + '@types/node': 20.14.5 + + '@types/hoist-non-react-statics@3.3.7(@types/react@19.2.2)': + dependencies: + '@types/react': 19.2.2 + hoist-non-react-statics: 3.3.2 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/lodash@4.17.20': {} + + '@types/minimatch@6.0.0': + dependencies: + minimatch: 10.1.1 + + '@types/node@20.14.5': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.19.24': + dependencies: + undici-types: 6.21.0 + + '@types/node@24.10.0': + dependencies: + undici-types: 7.16.0 + optional: true + + '@types/react-redux@7.1.34': + dependencies: + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.2) + '@types/react': 19.2.2 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + + '@types/react@19.2.2': + dependencies: + csstype: 3.1.3 + + '@types/resolve@1.20.2': {} + + '@types/statuses@2.0.6': {} + + '@types/whatwg-mimetype@3.0.2': {} + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 24.10.0 + optional: true + + '@typescript-eslint/project-service@8.46.3(typescript@4.7.4)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.3(typescript@4.7.4) + '@typescript-eslint/types': 8.46.3 + debug: 4.4.3 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + + '@typescript-eslint/scope-manager@8.46.3': + dependencies: + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/visitor-keys': 8.46.3 + + '@typescript-eslint/tsconfig-utils@8.46.3(typescript@4.7.4)': + dependencies: + typescript: 4.7.4 + + '@typescript-eslint/types@7.18.0': {} + + '@typescript-eslint/types@8.46.3': {} + + '@typescript-eslint/typescript-estree@7.18.0(typescript@4.7.4)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.3 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 1.4.3(typescript@4.7.4) + optionalDependencies: + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.46.3(typescript@4.7.4)': + dependencies: + '@typescript-eslint/project-service': 8.46.3(typescript@4.7.4) + '@typescript-eslint/tsconfig-utils': 8.46.3(typescript@4.7.4) + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/visitor-keys': 8.46.3 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@4.7.4) + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.18.0(eslint@9.39.1)(typescript@4.7.4)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@4.7.4) + eslint: 9.39.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@8.46.3(eslint@9.39.1)(typescript@4.7.4)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/scope-manager': 8.46.3 + '@typescript-eslint/types': 8.46.3 + '@typescript-eslint/typescript-estree': 8.46.3(typescript@4.7.4) + eslint: 9.39.1 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@8.46.3': + dependencies: + '@typescript-eslint/types': 8.46.3 + eslint-visitor-keys: 4.2.1 + + '@vitejs/plugin-react@5.1.1(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.47 + '@types/babel__core': 7.20.5 + react-refresh: 0.18.0 + vite: 7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + + '@vitest/browser-playwright@4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(playwright@1.56.1)(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vitest@4.0.8)': + dependencies: + '@vitest/browser': 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vitest@4.0.8) + '@vitest/mocker': 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + playwright: 1.56.1 + tinyrainbow: 3.0.3 + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser@4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vitest@4.0.8)': + dependencies: + '@vitest/mocker': 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@vitest/utils': 4.0.8 + magic-string: 0.30.21 + pixelmatch: 7.1.0 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.0.3 + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/coverage-v8@3.2.4(vitest@4.0.8)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 1.0.2 + ast-v8-to-istanbul: 0.3.8 + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.2.0 + magic-string: 0.30.21 + magicast: 0.3.5 + std-env: 3.10.0 + test-exclude: 7.0.1 + tinyrainbow: 2.0.0 + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + + '@vitest/coverage-v8@4.0.8(vitest@4.0.8)': + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@vitest/utils': 4.0.8 + ast-v8-to-istanbul: 0.3.8 + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.2.0 + magicast: 0.5.1 + std-env: 3.10.0 + tinyrainbow: 3.0.3 + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@4.0.8': + dependencies: + '@standard-schema/spec': 1.0.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.8 + '@vitest/utils': 4.0.8 + chai: 6.2.0 + tinyrainbow: 3.0.3 + + '@vitest/mocker@4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 4.0.8 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + msw: 2.12.2(@types/node@24.10.0)(typescript@4.7.4) + vite: 7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + + '@vitest/pretty-format@4.0.8': + dependencies: + tinyrainbow: 3.0.3 + + '@vitest/runner@4.0.8': + dependencies: + '@vitest/utils': 4.0.8 + pathe: 2.0.3 + + '@vitest/snapshot@4.0.8': + dependencies: + '@vitest/pretty-format': 4.0.8 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.0.8': {} + + '@vitest/utils@4.0.8': + dependencies: + '@vitest/pretty-format': 4.0.8 + tinyrainbow: 3.0.3 + + '@zeit/schemas@2.36.0': {} + + JSV@4.0.2: {} + + abbrev@2.0.0: {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-hammerhead@0.6.2: + dependencies: + '@types/estree': 0.0.46 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + address@2.0.3: {} + + adm-zip@0.5.16: {} + + agent-base@7.1.4: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-draft-04@1.0.0(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + + ajv-formats@2.1.1(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + + ajv-formats@3.0.1(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.18.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.2.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + antd@5.29.1(moment@2.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@ant-design/colors': 7.2.1 + '@ant-design/cssinjs': 1.24.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@ant-design/cssinjs-utils': 1.1.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@ant-design/fast-color': 2.0.6 + '@ant-design/icons': 5.6.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@ant-design/react-slick': 1.1.2(react@19.2.0) + '@babel/runtime': 7.28.4 + '@rc-component/color-picker': 2.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@rc-component/mutate-observer': 1.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@rc-component/qrcode': 1.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@rc-component/tour': 1.15.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + copy-to-clipboard: 3.3.3 + dayjs: 1.11.19 + rc-cascader: 3.34.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-checkbox: 3.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-collapse: 3.9.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-dialog: 9.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-drawer: 7.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-dropdown: 4.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-field-form: 2.7.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-image: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-input: 1.8.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-input-number: 9.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-mentions: 2.20.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-menu: 9.16.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-notification: 5.6.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-pagination: 5.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-picker: 4.11.3(dayjs@1.11.19)(moment@2.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-progress: 4.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-rate: 2.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-segmented: 2.7.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-select: 14.16.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-slider: 11.1.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-steps: 6.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-switch: 4.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-table: 7.54.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tabs: 15.7.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-textarea: 1.10.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tooltip: 6.4.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tree: 5.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tree-select: 5.27.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-upload: 4.11.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + scroll-into-view-if-needed: 3.1.0 + throttle-debounce: 5.0.2 + transitivePeerDependencies: + - date-fns + - luxon + - moment + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + optional: true + + arch@2.2.0: {} + + arg@5.0.2: {} + + argparse@2.0.1: {} + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-find-index@1.0.2: {} + + array-find@1.0.0: {} + + array-flatten@1.1.1: {} + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array-union@1.0.2: + dependencies: + array-uniq: 1.0.3 + + array-union@2.1.0: {} + + array-uniq@1.0.3: {} + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + asap@2.0.6: {} + + assertion-error@1.1.0: {} + + assertion-error@2.0.1: {} + + ast-types-flow@0.0.8: {} + + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + + ast-v8-to-istanbul@0.3.8: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 9.0.1 + + async-exit-hook@1.1.2: {} + + async-function@1.0.0: {} + + async@3.2.3: {} + + async@3.2.6: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axe-core@4.11.0: {} + + axobject-query@4.1.0: {} + + b4a@1.7.3: {} + + babel-extract-comments@1.0.0: + dependencies: + babylon: 6.18.0 + + babel-plugin-jsx-remove-data-test-id@3.0.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + + babel-plugin-module-resolver@5.0.0: + dependencies: + find-babel-config: 2.1.2 + glob: 8.1.0 + pkg-up: 3.1.0 + reselect: 4.1.8 + resolve: 1.22.11 + + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.46.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.28.5) + core-js-compat: 3.46.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + babel-plugin-syntax-object-rest-spread@6.13.0: {} + + babel-plugin-syntax-trailing-function-commas@6.22.0: {} + + babel-plugin-transform-object-rest-spread@6.26.0: + dependencies: + babel-plugin-syntax-object-rest-spread: 6.13.0 + babel-runtime: 6.26.0 + + babel-plugin-version@0.2.3: {} + + babel-runtime@6.26.0: + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + + babylon@6.18.0: {} + + balanced-match@1.0.2: {} + + bare-events@2.8.2: {} + + bare-fs@4.5.0: + dependencies: + bare-events: 2.8.2 + bare-path: 3.0.0 + bare-stream: 2.7.0(bare-events@2.8.2) + bare-url: 2.3.2 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-os@3.6.2: + optional: true + + bare-path@3.0.0: + dependencies: + bare-os: 3.6.2 + optional: true + + bare-stream@2.7.0(bare-events@2.8.2): + dependencies: + streamx: 2.23.0 + optionalDependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-url@2.3.2: + dependencies: + bare-path: 3.0.0 + optional: true + + base-x@3.0.11: + dependencies: + safe-buffer: 5.2.1 + + base16@1.0.0: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.8.25: {} + + baseline-browser-mapping@2.9.19: {} + + basic-ftp@5.0.5: {} + + binary-extensions@2.3.0: + optional: true + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bowser@1.6.0: {} + + bowser@2.12.1: {} + + boxen@7.0.0: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.27.0: + dependencies: + baseline-browser-mapping: 2.8.25 + caniuse-lite: 1.0.30001754 + electron-to-chromium: 1.5.249 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.27.0) + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.19 + caniuse-lite: 1.0.30001770 + electron-to-chromium: 1.5.286 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + + buffer-crc32@0.2.13: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsite@1.0.0: {} + + callsites@3.1.0: {} + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001754: {} + + caniuse-lite@1.0.30001770: {} + + chai@4.3.4: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 3.0.1 + get-func-name: 2.0.2 + pathval: 1.1.1 + type-detect: 4.1.0 + + chai@6.2.0: {} + + chalk-template@0.4.0: + dependencies: + chalk: 4.1.2 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.0.1: {} + + chalk@5.6.2: {} + + chardet@2.1.1: {} + + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true + + chrome-remote-interface@0.32.2: + dependencies: + commander: 2.11.0 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + chrome-trace-event@1.0.4: {} + + chromium-bidi@10.5.1(devtools-protocol@0.0.1521046): + dependencies: + devtools-protocol: 0.0.1521046 + mitt: 3.0.1 + zod: 3.25.76 + + ci-info@1.6.0: {} + + classnames@2.5.1: {} + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} + + cli-truncate@5.1.1: + dependencies: + slice-ansi: 7.1.2 + string-width: 8.1.0 + + cli-width@4.1.0: {} + + cli@1.0.1: + dependencies: + exit: 0.1.2 + glob: 7.2.3 + + client-only@0.0.1: {} + + clipboard-copy@4.0.1: {} + + clipboardy@3.0.0: + dependencies: + arch: 2.2.0 + execa: 5.1.1 + is-wsl: 2.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + + clone@2.1.2: {} + + clsx@2.1.1: {} + + coffeescript@2.7.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + commander@10.0.1: {} + + commander@12.1.0: {} + + commander@14.0.2: {} + + commander@2.11.0: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + + commander@6.2.1: {} + + commander@8.3.0: {} + + commenting@1.1.0: {} + + commondir@1.0.1: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + compute-scroll-into-view@3.1.1: {} + + concat-map@0.0.1: {} + + concurrently@9.2.1: + dependencies: + chalk: 4.1.2 + rxjs: 7.8.2 + shell-quote: 1.8.3 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + confusing-browser-globals@1.0.11: {} + + console-browserify@1.1.0: + dependencies: + date-now: 0.1.4 + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.7.1: {} + + cookie@1.0.2: {} + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + core-js-compat@3.46.0: + dependencies: + browserslist: 4.27.0 + + core-js@2.6.12: {} + + core-util-is@1.0.3: {} + + cosmiconfig@9.0.0(typescript@4.7.4): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 4.7.4 + + crelt@1.0.6: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-md5@1.0.0: {} + + csstype@3.1.3: {} + + damerau-levenshtein@1.0.8: {} + + data-uri-to-buffer@4.0.1: {} + + data-uri-to-buffer@6.0.2: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + date-now@0.1.4: {} + + dayjs@1.11.19: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.1: + dependencies: + ms: 2.1.2 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + dedent@0.4.0: {} + + dedent@0.6.0: {} + + dedent@0.7.0: {} + + deep-eql@3.0.1: + dependencies: + type-detect: 4.1.0 + + deep-equal@2.2.3: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + es-get-iterator: 1.1.3 + get-intrinsic: 1.3.0 + is-arguments: 1.2.0 + is-array-buffer: 3.0.5 + is-date-object: 1.1.0 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + object.assign: 4.1.7 + regexp.prototype.flags: 1.5.4 + side-channel: 1.1.0 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + deep-extend@0.6.0: {} + + deep-is@0.1.4: {} + + deepmerge@2.2.1: {} + + deepmerge@4.3.1: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + + del@3.0.0: + dependencies: + globby: 6.1.0 + is-path-cwd: 1.0.0 + is-path-in-cwd: 1.0.1 + p-map: 1.2.0 + pify: 3.0.0 + rimraf: 2.7.1 + + del@5.1.0: + dependencies: + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + depd@2.0.0: {} + + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + destroy@1.2.0: {} + + detect-libc@1.0.3: {} + + detect-libc@2.1.2: {} + + device-specs@1.0.1: {} + + devtools-protocol@0.0.1109433: {} + + devtools-protocol@0.0.1521046: {} + + diff@4.0.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dom-helpers@5.2.1: + dependencies: + '@babel/runtime': 7.28.4 + csstype: 3.1.3 + + dom-serializer@0.2.2: + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + + domelementtype@1.3.1: {} + + domelementtype@2.3.0: {} + + domhandler@2.3.0: + dependencies: + domelementtype: 1.3.1 + + domutils@1.5.1: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.6.1 + + dotenv@16.6.1: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + editorconfig@1.0.4: + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.1 + semver: 7.7.3 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.249: {} + + electron-to-chromium@1.5.286: {} + + elegant-spinner@1.0.1: {} + + email-validator@2.0.4: {} + + emittery@0.4.1: {} + + emoji-regex@10.6.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + entities@1.0.0: {} + + entities@2.2.0: {} + + entities@6.0.1: {} + + env-paths@2.2.1: {} + + environment@1.1.0: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.8 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + is-arguments: 1.2.0 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.1.1 + isarray: 2.0.5 + stop-iteration-iterator: 1.1.0 + + es-iterator-helpers@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + safe-array-concat: 1.1.3 + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0(eslint@9.39.1))(eslint@9.39.1): + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 9.39.1 + eslint-plugin-import: 2.32.0(eslint@9.39.1) + object.assign: 4.1.7 + object.entries: 1.1.9 + semver: 6.3.1 + + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.32.0(eslint@9.39.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1))(eslint-plugin-react-hooks@4.6.2(eslint@9.39.1))(eslint-plugin-react@7.37.5(eslint@9.39.1))(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(eslint@9.39.1))(eslint@9.39.1) + eslint-plugin-import: 2.32.0(eslint@9.39.1) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.1) + eslint-plugin-react: 7.37.5(eslint@9.39.1) + eslint-plugin-react-hooks: 4.6.2(eslint@9.39.1) + object.assign: 4.1.7 + object.entries: 1.1.9 + + eslint-config-prettier@10.1.8(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.32.0(eslint@9.39.1)): + dependencies: + eslint-plugin-import: 2.32.0(eslint@9.39.1) + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint@9.39.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + eslint: 9.39.1 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.32.0(eslint@9.39.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.39.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint@9.39.1) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1): + dependencies: + aria-query: 5.3.2 + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + ast-types-flow: 0.0.8 + axe-core: 4.11.0 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 9.39.1 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.1.0 + string.prototype.includes: 2.0.1 + + eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.6.2): + dependencies: + eslint: 9.39.1 + prettier: 3.6.2 + prettier-linter-helpers: 1.0.0 + synckit: 0.11.11 + optionalDependencies: + eslint-config-prettier: 10.1.8(eslint@9.39.1) + + eslint-plugin-react-hooks@4.6.2(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + + eslint-plugin-react@7.37.5(eslint@9.39.1): + dependencies: + array-includes: 3.1.9 + 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.2.1 + eslint: 9.39.1 + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + 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.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 + + eslint-plugin-testcafe@0.2.1: {} + + eslint-plugin-testing-library@7.13.4(eslint@9.39.1)(typescript@4.7.4): + dependencies: + '@typescript-eslint/scope-manager': 8.46.3 + '@typescript-eslint/utils': 8.46.3(eslint@9.39.1)(typescript@4.7.4) + eslint: 9.39.1 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-unused-imports@4.3.0(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + + eslint-plugin-vitest@0.5.4(eslint@9.39.1)(typescript@4.7.4)(vitest@4.0.8): + dependencies: + '@typescript-eslint/utils': 7.18.0(eslint@9.39.1)(typescript@4.7.4) + eslint: 9.39.1 + optionalDependencies: + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@2.1.0: {} + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + esotope-hammerhead@0.6.9: + dependencies: + '@types/estree': 0.0.46 + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + eventemitter3@5.0.1: {} + + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + + execa@3.4.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@4.1.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect-type@1.2.2: {} + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extract-zip@2.0.1: + dependencies: + debug: 4.4.3 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.1.0: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fbemitter@3.0.0: + dependencies: + fbjs: 3.0.5 + transitivePeerDependencies: + - encoding + + fbjs-css-vars@1.0.2: {} + + fbjs@3.0.5: + dependencies: + cross-fetch: 3.2.0 + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.41 + transitivePeerDependencies: + - encoding + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-babel-config@2.1.2: + dependencies: + json5: 2.2.3 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + flux@4.0.4(react@17.0.2): + dependencies: + fbemitter: 3.0.0 + fbjs: 3.0.5 + react: 17.0.2 + transitivePeerDependencies: + - encoding + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + formik@2.4.9(@types/react@19.2.2)(react@19.2.0): + dependencies: + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.2.2) + deepmerge: 2.2.1 + hoist-non-react-statics: 3.3.2 + lodash: 4.17.21 + lodash-es: 4.17.21 + react: 19.2.0 + react-fast-compare: 2.0.4 + tiny-warning: 1.0.3 + tslib: 2.8.1 + transitivePeerDependencies: + - '@types/react' + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-readdir-recursive@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.2: + optional: true + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.4.0: {} + + get-func-name@2.0.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-os-info@1.0.2: + dependencies: + getos: 3.2.1 + macos-release: 3.4.0 + os-family: 1.1.0 + windows-release: 5.1.1 + + get-port@4.2.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stdin@4.0.1: {} + + get-stream@5.2.0: + dependencies: + pump: 3.0.3 + + get-stream@6.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-uri@6.0.5: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + getos@3.2.1: + dependencies: + async: 3.2.6 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@11.0.3: + dependencies: + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.1.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@14.0.0: {} + + globals@16.5.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@10.0.2: + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + glob: 7.2.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@6.1.0: + dependencies: + array-union: 1.0.2 + glob: 7.2.3 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphlib@2.1.8: + dependencies: + lodash: 4.17.21 + + graphql@16.12.0: {} + + happy-dom@20.0.10: + dependencies: + '@types/node': 20.19.24 + '@types/whatwg-mimetype': 3.0.2 + whatwg-mimetype: 3.0.0 + + has-bigints@1.1.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + headers-polyfill@4.0.3: {} + + highlight-es@1.0.3: + dependencies: + chalk: 2.4.2 + is-es2016-keyword: 1.0.0 + js-tokens: 3.0.2 + + history@4.10.1: + dependencies: + '@babel/runtime': 7.28.4 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + html-escaper@2.0.2: {} + + htmlparser2@3.8.3: + dependencies: + domelementtype: 1.3.1 + domhandler: 2.3.0 + domutils: 1.5.1 + entities: 1.0.0 + readable-stream: 1.1.14 + + http-cache-semantics@4.2.0: {} + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + http-status-codes@2.3.0: {} + + httpntlm@1.8.13: + dependencies: + des.js: 1.1.0 + httpreq: 1.1.1 + js-md4: 0.3.2 + underscore: 1.12.1 + + httpreq@1.1.1: {} + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@1.1.1: {} + + human-signals@2.1.0: {} + + humanize-duration@3.33.1: {} + + husky@9.1.7: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.5.1: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + immer@9.0.21: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@3.1.0: {} + + imurmurhash@0.1.4: {} + + indent-string@1.2.2: + dependencies: + get-stdin: 4.0.1 + minimist: 1.2.8 + repeating: 1.1.3 + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inquirer@9.3.8(@types/node@24.10.0): + dependencies: + '@inquirer/external-editor': 1.0.3(@types/node@24.10.0) + '@inquirer/figures': 1.0.15 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.2 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + transitivePeerDependencies: + - '@types/node' + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + intl-messageformat@10.7.18: + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/icu-messageformat-parser': 2.11.4 + tslib: 2.8.1 + + ip-address@10.1.0: {} + + ipaddr.js@1.9.1: {} + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-arrayish@0.2.1: {} + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + optional: true + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-ci@1.2.1: + dependencies: + ci-info: 1.6.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-docker@2.2.1: {} + + is-es2016-keyword@1.0.0: {} + + is-extglob@1.0.0: {} + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-finite@1.1.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@5.1.0: + dependencies: + get-east-asian-width: 1.4.0 + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@2.0.1: + dependencies: + is-extglob: 1.0.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-map@2.0.3: {} + + is-module@1.0.0: {} + + is-negative-zero@2.0.3: {} + + is-node-process@1.2.0: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-cwd@1.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-in-cwd@1.0.1: + dependencies: + is-path-inside: 1.0.1 + + is-path-inside@1.0.1: + dependencies: + path-is-inside: 1.0.2 + + is-path-inside@3.0.3: {} + + is-plain-object@5.0.0: {} + + is-podman@1.0.1: {} + + is-port-reachable@4.0.0: {} + + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.8 + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@2.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-unicode-supported@0.1.0: {} + + is-utf8@0.2.1: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@5.0.6: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + + js-beautify@1.15.4: + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.4 + glob: 10.4.5 + js-cookie: 3.0.5 + nopt: 7.2.1 + + js-cookie@2.2.1: {} + + js-cookie@3.0.5: {} + + js-md4@0.3.2: {} + + js-tokens@3.0.2: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.1: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + jshint@2.13.6: + dependencies: + cli: 1.0.1 + console-browserify: 1.1.0 + exit: 0.1.2 + htmlparser2: 3.8.3 + lodash: 4.17.21 + minimatch: 3.0.8 + strip-json-comments: 1.0.4 + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json2mq@0.2.0: + dependencies: + string-convert: 0.2.1 + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonlint-mod@1.7.6: + dependencies: + JSV: 4.0.2 + chalk: 2.4.2 + underscore: 1.13.7 + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-android-arm64@1.30.2: + optional: true + + lightningcss-darwin-arm64@1.30.2: + optional: true + + lightningcss-darwin-x64@1.30.2: + optional: true + + lightningcss-freebsd-x64@1.30.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true + + lightningcss-linux-arm64-gnu@1.30.2: + optional: true + + lightningcss-linux-arm64-musl@1.30.2: + optional: true + + lightningcss-linux-x64-gnu@1.30.2: + optional: true + + lightningcss-linux-x64-musl@1.30.2: + optional: true + + lightningcss-win32-arm64-msvc@1.30.2: + optional: true + + lightningcss-win32-x64-msvc@1.30.2: + optional: true + + lightningcss@1.30.2: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 + + lines-and-columns@1.2.4: {} + + lint-staged@16.2.6: + dependencies: + commander: 14.0.2 + listr2: 9.0.5 + micromatch: 4.0.8 + nano-spawn: 2.0.0 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.8.1 + + linux-platform-info@0.0.3: + dependencies: + os-family: 1.1.0 + + listr2@9.0.5: + dependencies: + cli-truncate: 5.1.1 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.2 + + lmdb@2.8.5: + dependencies: + msgpackr: 1.11.5 + node-addon-api: 6.1.0 + node-gyp-build-optional-packages: 5.1.1 + ordered-binary: 1.6.0 + weak-lru-cache: 1.2.2 + optionalDependencies: + '@lmdb/lmdb-darwin-arm64': 2.8.5 + '@lmdb/lmdb-darwin-x64': 2.8.5 + '@lmdb/lmdb-linux-arm': 2.8.5 + '@lmdb/lmdb-linux-arm64': 2.8.5 + '@lmdb/lmdb-linux-x64': 2.8.5 + '@lmdb/lmdb-win32-x64': 2.8.5 + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.17.21: {} + + lodash.curry@4.1.1: {} + + lodash.debounce@4.0.8: {} + + lodash.flow@3.5.0: {} + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-update-async-hook@2.0.7: + dependencies: + ansi-escapes: 4.3.2 + async-exit-hook: 1.1.2 + onetime: 2.0.1 + wrap-ansi: 7.0.0 + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.2.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@10.4.3: {} + + lru-cache@11.0.2: {} + + lru-cache@11.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lru-cache@7.18.3: {} + + macos-release@3.4.0: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magicast@0.3.5: + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + source-map-js: 1.2.1 + + magicast@0.5.1: + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + source-map-js: 1.2.1 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-dir@4.0.0: + dependencies: + semver: 7.7.3 + + match-requires@2.0.1: + dependencies: + requires-regex: 1.0.4 + strip-comments: 1.0.2 + + match-url-wildcard@0.0.4: + dependencies: + escape-string-regexp: 1.0.5 + + math-intrinsics@1.1.0: {} + + media-typer@0.3.0: {} + + merge-descriptors@1.0.3: {} + + merge-stream@1.0.1: + dependencies: + readable-stream: 2.3.8 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.4.1: {} + + mime@1.6.0: {} + + mimic-fn@1.2.0: {} + + mimic-fn@2.1.0: {} + + mimic-function@5.0.1: {} + + minimalistic-assert@1.0.1: {} + + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.12 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + + minimatch@9.0.1: + dependencies: + brace-expansion: 2.0.2 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitt@3.0.1: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + moment-duration-format-commonjs@1.0.1: {} + + moment@2.30.1: {} + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + msgpackr-extract@3.0.3: + dependencies: + node-gyp-build-optional-packages: 5.2.2 + optionalDependencies: + '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.3 + '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.3 + '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.3 + '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.3 + '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.3 + '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 + optional: true + + msgpackr@1.11.5: + optionalDependencies: + msgpackr-extract: 3.0.3 + + msgpackr@1.11.8: + optionalDependencies: + msgpackr-extract: 3.0.3 + + msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4): + dependencies: + '@inquirer/confirm': 5.1.20(@types/node@24.10.0) + '@mswjs/interceptors': 0.40.0 + '@open-draft/deferred-promise': 2.2.0 + '@types/statuses': 2.0.6 + cookie: 1.0.2 + graphql: 16.12.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + rettime: 0.7.0 + statuses: 2.0.2 + strict-event-emitter: 0.5.1 + tough-cookie: 6.0.0 + type-fest: 4.41.0 + until-async: 3.0.2 + yargs: 17.7.2 + optionalDependencies: + typescript: 4.7.4 + transitivePeerDependencies: + - '@types/node' + + mustache@2.3.2: {} + + mute-stream@1.0.0: {} + + mute-stream@3.0.0: {} + + nano-spawn@2.0.0: {} + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + netmask@2.0.2: {} + + node-addon-api@6.1.0: {} + + node-addon-api@7.1.1: {} + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-gyp-build-optional-packages@5.1.1: + dependencies: + detect-libc: 2.1.2 + + node-gyp-build-optional-packages@5.2.2: + dependencies: + detect-libc: 2.1.2 + optional: true + + node-releases@2.0.27: {} + + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + + normalize-path@3.0.0: + optional: true + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nullthrows@1.1.1: {} + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-is@1.1.6: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + ordered-binary@1.6.0: {} + + os-family@1.1.0: {} + + os-tmpdir@1.0.2: {} + + outvariant@1.4.3: {} + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-finally@2.0.1: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@1.2.0: {} + + p-map@3.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + pac-proxy-agent@7.2.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.4 + debug: 4.4.3 + get-uri: 6.0.5 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.0.2 + + package-json-from-dist@1.0.1: {} + + package-name-regex@2.0.6: {} + + parcel@2.16.1(@swc/helpers@0.5.17): + dependencies: + '@parcel/config-default': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/core': 2.16.1(@swc/helpers@0.5.17) + '@parcel/diagnostic': 2.16.1 + '@parcel/events': 2.16.1 + '@parcel/feature-flags': 2.16.1 + '@parcel/fs': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/logger': 2.16.1 + '@parcel/package-manager': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17))(@swc/helpers@0.5.17) + '@parcel/reporter-cli': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/reporter-dev-server': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/reporter-tracer': 2.16.1(@parcel/core@2.16.1(@swc/helpers@0.5.17)) + '@parcel/utils': 2.16.1 + chalk: 4.1.2 + commander: 12.1.0 + get-port: 4.2.0 + transitivePeerDependencies: + - '@swc/helpers' + - napi-wasm + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse5@1.5.1: {} + + parse5@2.2.3: {} + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseurl@1.3.3: {} + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-scurry@2.0.1: + dependencies: + lru-cache: 11.2.2 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-to-regexp@6.3.0: {} + + path-type@4.0.0: {} + + pathe@2.0.3: {} + + pathval@1.1.1: {} + + pend@1.2.0: {} + + penpal@4.1.1: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pidtree@0.6.0: {} + + pify@2.3.0: {} + + pify@3.0.0: {} + + pify@4.0.1: {} + + pinkie-promise@1.0.0: + dependencies: + pinkie: 1.0.0 + + pinkie-promise@2.0.1: + dependencies: + pinkie: 2.0.4 + + pinkie@1.0.0: {} + + pinkie@2.0.4: {} + + pixelmatch@7.1.0: + dependencies: + pngjs: 7.0.0 + + pkg-dir@5.0.0: + dependencies: + find-up: 5.0.0 + + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + playwright-core@1.56.1: {} + + playwright@1.56.1: + dependencies: + playwright-core: 1.56.1 + optionalDependencies: + fsevents: 2.3.2 + + pngjs@3.4.0: {} + + pngjs@7.0.0: {} + + possible-typed-array-names@1.1.0: {} + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.6.2: {} + + pretty-hrtime@1.0.3: {} + + process-nextick-args@2.0.1: {} + + progress@2.0.3: {} + + promise@7.3.1: + dependencies: + asap: 2.0.6 + + promisify-event@1.0.0: + dependencies: + pinkie-promise: 2.0.1 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-expr@2.0.6: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-from-env@1.1.0: {} + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} + + puppeteer-core@24.29.1: + dependencies: + '@puppeteer/browsers': 2.10.13 + chromium-bidi: 10.5.1(devtools-protocol@0.0.1521046) + debug: 4.4.3 + devtools-protocol: 0.0.1521046 + typed-query-selector: 2.12.0 + webdriver-bidi-protocol: 0.3.8 + ws: 8.18.3 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - utf-8-validate + + puppeteer@24.29.1(typescript@4.7.4): + dependencies: + '@puppeteer/browsers': 2.10.13 + chromium-bidi: 10.5.1(devtools-protocol@0.0.1521046) + cosmiconfig: 9.0.0(typescript@4.7.4) + devtools-protocol: 0.0.1521046 + puppeteer-core: 24.29.1 + typed-query-selector: 2.12.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - typescript + - utf-8-validate + + pure-color@1.3.0: {} + + qrcode-terminal@0.10.0: {} + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc-cascader@3.34.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-select: 14.16.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tree: 5.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-checkbox@3.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-collapse@3.9.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-dialog@9.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/portal': 1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-drawer@7.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/portal': 1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-dropdown@4.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-field-form@2.7.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/async-validator': 5.0.4 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-image@7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/portal': 1.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-dialog: 9.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-input-number@9.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/mini-decimal': 1.1.0 + classnames: 2.5.1 + rc-input: 1.8.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-input@1.8.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-mentions@2.20.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-input: 1.8.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-menu: 9.16.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-textarea: 1.10.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-menu@9.16.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-overflow: 1.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-motion@2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-notification@5.6.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-overflow@1.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-pagination@5.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-picker@4.11.3(dayjs@1.11.19)(moment@2.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-overflow: 1.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + optionalDependencies: + dayjs: 1.11.19 + moment: 2.30.1 + + rc-progress@4.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-rate@2.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-resize-observer@1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + resize-observer-polyfill: 1.5.1 + + rc-segmented@2.7.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-select@14.16.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-overflow: 1.5.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-virtual-list: 3.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-slider@11.1.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-steps@6.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-switch@4.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-table@7.54.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/context': 1.4.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-virtual-list: 3.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-tabs@15.7.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-dropdown: 4.2.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-menu: 9.16.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-textarea@1.10.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-input: 1.8.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-tooltip@6.4.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + '@rc-component/trigger': 2.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-tree-select@5.27.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-select: 14.16.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-tree: 5.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-tree@5.13.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-motion: 2.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-virtual-list: 3.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-upload@4.11.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc-util@5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + react-is: 18.3.1 + + rc-virtual-list@3.19.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + classnames: 2.5.1 + rc-resize-observer: 1.4.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + rc-util: 5.44.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-aria-components@1.13.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-aria/autocomplete': 3.0.0-rc.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/collections': 3.0.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/dnd': 3.11.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/virtualizer': 4.1.10(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/autocomplete': 3.0.0-beta.3(react@17.0.2) + '@react-stately/layout': 4.5.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/table': 3.15.1(react@17.0.2) + '@react-stately/utils': 3.10.8(react@17.0.2) + '@react-stately/virtualizer': 4.4.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/form': 3.7.16(react@17.0.2) + '@react-types/grid': 3.3.6(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + '@react-types/table': 3.13.4(react@17.0.2) + '@swc/helpers': 0.5.17 + client-only: 0.0.1 + react: 17.0.2 + react-aria: 3.44.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + react-stately: 3.42.0(react@17.0.2) + use-sync-external-store: 1.6.0(react@17.0.2) + + react-aria-components@1.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-aria/autocomplete': 3.0.0-rc.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/collections': 3.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dnd': 3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/virtualizer': 4.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/autocomplete': 3.0.0-beta.3(react@18.3.1) + '@react-stately/layout': 4.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-stately/virtualizer': 4.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/form': 3.7.16(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/table': 3.13.4(react@18.3.1) + '@swc/helpers': 0.5.17 + client-only: 0.0.1 + react: 18.3.1 + react-aria: 3.44.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + react-stately: 3.42.0(react@18.3.1) + use-sync-external-store: 1.6.0(react@18.3.1) + + react-aria-components@1.13.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@internationalized/date': 3.10.0 + '@internationalized/string': 3.2.7 + '@react-aria/autocomplete': 3.0.0-rc.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/collections': 3.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/dnd': 3.11.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/virtualizer': 4.1.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/autocomplete': 3.0.0-beta.3(react@19.2.0) + '@react-stately/layout': 4.5.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/table': 3.15.1(react@19.2.0) + '@react-stately/utils': 3.10.8(react@19.2.0) + '@react-stately/virtualizer': 4.4.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/form': 3.7.16(react@19.2.0) + '@react-types/grid': 3.3.6(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + '@react-types/table': 3.13.4(react@19.2.0) + '@swc/helpers': 0.5.17 + client-only: 0.0.1 + react: 19.2.0 + react-aria: 3.44.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-dom: 19.2.0(react@19.2.0) + react-stately: 3.42.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.0) + + react-aria@3.44.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/breadcrumbs': 3.5.29(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/button': 3.14.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/calendar': 3.9.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/checkbox': 3.16.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/color': 3.1.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/combobox': 3.14.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/datepicker': 3.15.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/dialog': 3.5.31(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/disclosure': 3.1.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/dnd': 3.11.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/focus': 3.21.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/gridlist': 3.14.1(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/i18n': 3.12.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/interactions': 3.25.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/label': 3.7.22(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/landmark': 3.0.7(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/link': 3.8.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/listbox': 3.15.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/menu': 3.19.3(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/meter': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/numberfield': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/overlays': 3.30.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/progress': 3.4.27(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/radio': 3.12.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/searchfield': 3.8.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/select': 3.17.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/selection': 3.26.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/separator': 3.4.13(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/slider': 3.8.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/ssr': 3.9.10(react@17.0.2) + '@react-aria/switch': 3.7.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/table': 3.17.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tabs': 3.10.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tag': 3.7.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/textfield': 3.18.2(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/toast': 3.0.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tooltip': 3.8.8(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/tree': 3.1.4(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/utils': 3.31.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-aria/visually-hidden': 3.8.28(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + react-aria@3.44.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/breadcrumbs': 3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/calendar': 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/checkbox': 3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/color': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/combobox': 3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/datepicker': 3.15.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/disclosure': 3.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dnd': 3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/gridlist': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/landmark': 3.0.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/meter': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/numberfield': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/progress': 3.4.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/searchfield': 3.8.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/select': 3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/separator': 3.4.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/slider': 3.8.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/switch': 3.7.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tabs': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tag': 3.7.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toast': 3.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tree': 3.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react-aria@3.44.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@internationalized/string': 3.2.7 + '@react-aria/breadcrumbs': 3.5.29(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/button': 3.14.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/calendar': 3.9.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/checkbox': 3.16.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/color': 3.1.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/combobox': 3.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/datepicker': 3.15.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/dialog': 3.5.31(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/disclosure': 3.1.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/dnd': 3.11.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/focus': 3.21.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/gridlist': 3.14.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/i18n': 3.12.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/interactions': 3.25.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/label': 3.7.22(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/landmark': 3.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/link': 3.8.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/listbox': 3.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/menu': 3.19.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/meter': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/numberfield': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/overlays': 3.30.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/progress': 3.4.27(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/radio': 3.12.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/searchfield': 3.8.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/select': 3.17.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/selection': 3.26.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/separator': 3.4.13(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/slider': 3.8.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/ssr': 3.9.10(react@19.2.0) + '@react-aria/switch': 3.7.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/table': 3.17.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tabs': 3.10.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tag': 3.7.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/textfield': 3.18.2(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/toast': 3.0.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tooltip': 3.8.8(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/tree': 3.1.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/utils': 3.31.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-aria/visually-hidden': 3.8.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + react-base16-styling@0.6.0: + dependencies: + base16: 1.0.0 + lodash.curry: 4.1.1 + lodash.flow: 3.5.0 + pure-color: 1.3.0 + + react-dom@17.0.2(react@17.0.2): + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react: 17.0.2 + scheduler: 0.20.2 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-dom@19.2.0(react@19.2.0): + dependencies: + react: 19.2.0 + scheduler: 0.27.0 + + react-fast-compare@2.0.4: {} + + react-hook-form@7.66.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-json-view@1.21.3(@types/react@19.2.2)(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + dependencies: + flux: 4.0.4(react@17.0.2) + react: 17.0.2 + react-base16-styling: 0.6.0 + react-dom: 17.0.2(react@17.0.2) + react-lifecycles-compat: 3.0.4 + react-textarea-autosize: 8.5.9(@types/react@19.2.2)(react@17.0.2) + transitivePeerDependencies: + - '@types/react' + - encoding + + react-lifecycles-compat@3.0.4: {} + + react-redux@7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + dependencies: + '@babel/runtime': 7.28.4 + '@types/react-redux': 7.1.34 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-is: 17.0.2 + optionalDependencies: + react-dom: 17.0.2(react@17.0.2) + + react-refresh@0.16.0: {} + + react-refresh@0.18.0: {} + + react-router-dom@5.3.4(react@17.0.2): + dependencies: + '@babel/runtime': 7.28.4 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-router: 5.3.4(react@17.0.2) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router-last-location@2.0.1(prop-types@15.8.1)(react-dom@17.0.2(react@17.0.2))(react-router-dom@5.3.4(react@17.0.2))(react@17.0.2): + dependencies: + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + + react-router@5.3.4(react@17.0.2): + dependencies: + '@babel/runtime': 7.28.4 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 17.0.2 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-split@2.0.14(react@17.0.2): + dependencies: + prop-types: 15.8.1 + react: 17.0.2 + split.js: 1.6.5 + + react-stately@3.42.0(react@17.0.2): + dependencies: + '@react-stately/calendar': 3.9.0(react@17.0.2) + '@react-stately/checkbox': 3.7.2(react@17.0.2) + '@react-stately/collections': 3.12.8(react@17.0.2) + '@react-stately/color': 3.9.2(react@17.0.2) + '@react-stately/combobox': 3.12.0(react@17.0.2) + '@react-stately/data': 3.14.1(react@17.0.2) + '@react-stately/datepicker': 3.15.2(react@17.0.2) + '@react-stately/disclosure': 3.0.8(react@17.0.2) + '@react-stately/dnd': 3.7.1(react@17.0.2) + '@react-stately/form': 3.2.2(react@17.0.2) + '@react-stately/list': 3.13.1(react@17.0.2) + '@react-stately/menu': 3.9.8(react@17.0.2) + '@react-stately/numberfield': 3.10.2(react@17.0.2) + '@react-stately/overlays': 3.6.20(react@17.0.2) + '@react-stately/radio': 3.11.2(react@17.0.2) + '@react-stately/searchfield': 3.5.16(react@17.0.2) + '@react-stately/select': 3.8.0(react@17.0.2) + '@react-stately/selection': 3.20.6(react@17.0.2) + '@react-stately/slider': 3.7.2(react@17.0.2) + '@react-stately/table': 3.15.1(react@17.0.2) + '@react-stately/tabs': 3.8.6(react@17.0.2) + '@react-stately/toast': 3.1.2(react@17.0.2) + '@react-stately/toggle': 3.9.2(react@17.0.2) + '@react-stately/tooltip': 3.5.8(react@17.0.2) + '@react-stately/tree': 3.9.3(react@17.0.2) + '@react-types/shared': 3.32.1(react@17.0.2) + react: 17.0.2 + + react-stately@3.42.0(react@18.3.1): + dependencies: + '@react-stately/calendar': 3.9.0(react@18.3.1) + '@react-stately/checkbox': 3.7.2(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/color': 3.9.2(react@18.3.1) + '@react-stately/combobox': 3.12.0(react@18.3.1) + '@react-stately/data': 3.14.1(react@18.3.1) + '@react-stately/datepicker': 3.15.2(react@18.3.1) + '@react-stately/disclosure': 3.0.8(react@18.3.1) + '@react-stately/dnd': 3.7.1(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-stately/menu': 3.9.8(react@18.3.1) + '@react-stately/numberfield': 3.10.2(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-stately/radio': 3.11.2(react@18.3.1) + '@react-stately/searchfield': 3.5.16(react@18.3.1) + '@react-stately/select': 3.8.0(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/slider': 3.7.2(react@18.3.1) + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-stately/tabs': 3.8.6(react@18.3.1) + '@react-stately/toast': 3.1.2(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 + + react-stately@3.42.0(react@19.2.0): + dependencies: + '@react-stately/calendar': 3.9.0(react@19.2.0) + '@react-stately/checkbox': 3.7.2(react@19.2.0) + '@react-stately/collections': 3.12.8(react@19.2.0) + '@react-stately/color': 3.9.2(react@19.2.0) + '@react-stately/combobox': 3.12.0(react@19.2.0) + '@react-stately/data': 3.14.1(react@19.2.0) + '@react-stately/datepicker': 3.15.2(react@19.2.0) + '@react-stately/disclosure': 3.0.8(react@19.2.0) + '@react-stately/dnd': 3.7.1(react@19.2.0) + '@react-stately/form': 3.2.2(react@19.2.0) + '@react-stately/list': 3.13.1(react@19.2.0) + '@react-stately/menu': 3.9.8(react@19.2.0) + '@react-stately/numberfield': 3.10.2(react@19.2.0) + '@react-stately/overlays': 3.6.20(react@19.2.0) + '@react-stately/radio': 3.11.2(react@19.2.0) + '@react-stately/searchfield': 3.5.16(react@19.2.0) + '@react-stately/select': 3.8.0(react@19.2.0) + '@react-stately/selection': 3.20.6(react@19.2.0) + '@react-stately/slider': 3.7.2(react@19.2.0) + '@react-stately/table': 3.15.1(react@19.2.0) + '@react-stately/tabs': 3.8.6(react@19.2.0) + '@react-stately/toast': 3.1.2(react@19.2.0) + '@react-stately/toggle': 3.9.2(react@19.2.0) + '@react-stately/tooltip': 3.5.8(react@19.2.0) + '@react-stately/tree': 3.9.3(react@19.2.0) + '@react-types/shared': 3.32.1(react@19.2.0) + react: 19.2.0 + + react-textarea-autosize@8.5.9(@types/react@19.2.2)(react@17.0.2): + dependencies: + '@babel/runtime': 7.28.4 + react: 17.0.2 + use-composed-ref: 1.4.0(@types/react@19.2.2)(react@17.0.2) + use-latest: 1.3.0(@types/react@19.2.2)(react@17.0.2) + transitivePeerDependencies: + - '@types/react' + + react-transition-group@4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + dependencies: + '@babel/runtime': 7.28.4 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.28.4 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react-transition-group@4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + dependencies: + '@babel/runtime': 7.28.4 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + + react@17.0.2: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + react@19.2.0: {} + + read-file-relative@1.2.0: + dependencies: + callsite: 1.0.0 + + readable-stream@1.1.14: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + optional: true + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.28.4 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.11.1: {} + + regenerator-runtime@0.14.1: {} + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + registry-auth-token@3.3.2: + dependencies: + rc: 1.2.8 + safe-buffer: 5.2.1 + + registry-url@3.1.0: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.13.0: + dependencies: + jsesc: 3.1.0 + + repeating@1.1.3: + dependencies: + is-finite: 1.1.0 + + replicator@1.0.5: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + requires-port@1.0.0: {} + + requires-regex@1.0.4: {} + + reselect@4.1.8: {} + + resize-observer-polyfill@1.5.1: {} + + resolve-cwd@1.0.0: + dependencies: + resolve-from: 2.0.0 + + resolve-from@2.0.0: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + rettime@0.7.0: {} + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@6.1.0: + dependencies: + glob: 11.0.3 + package-json-from-dist: 1.0.1 + + rollup-plugin-istanbul@5.0.0(rollup@4.53.1): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.53.1) + istanbul-lib-instrument: 6.0.3 + optionalDependencies: + rollup: 4.53.1 + transitivePeerDependencies: + - supports-color + + rollup-plugin-license@3.6.0(picomatch@4.0.3)(rollup@4.53.1): + dependencies: + commenting: 1.1.0 + fdir: 6.5.0(picomatch@4.0.3) + lodash: 4.17.21 + magic-string: 0.30.21 + moment: 2.30.1 + package-name-regex: 2.0.6 + rollup: 4.53.1 + spdx-expression-validate: 2.0.0 + spdx-satisfies: 5.0.1 + transitivePeerDependencies: + - picomatch + + rollup@4.53.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.53.1 + '@rollup/rollup-android-arm64': 4.53.1 + '@rollup/rollup-darwin-arm64': 4.53.1 + '@rollup/rollup-darwin-x64': 4.53.1 + '@rollup/rollup-freebsd-arm64': 4.53.1 + '@rollup/rollup-freebsd-x64': 4.53.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.53.1 + '@rollup/rollup-linux-arm-musleabihf': 4.53.1 + '@rollup/rollup-linux-arm64-gnu': 4.53.1 + '@rollup/rollup-linux-arm64-musl': 4.53.1 + '@rollup/rollup-linux-loong64-gnu': 4.53.1 + '@rollup/rollup-linux-ppc64-gnu': 4.53.1 + '@rollup/rollup-linux-riscv64-gnu': 4.53.1 + '@rollup/rollup-linux-riscv64-musl': 4.53.1 + '@rollup/rollup-linux-s390x-gnu': 4.53.1 + '@rollup/rollup-linux-x64-gnu': 4.53.1 + '@rollup/rollup-linux-x64-musl': 4.53.1 + '@rollup/rollup-openharmony-arm64': 4.53.1 + '@rollup/rollup-win32-arm64-msvc': 4.53.1 + '@rollup/rollup-win32-ia32-msvc': 4.53.1 + '@rollup/rollup-win32-x64-gnu': 4.53.1 + '@rollup/rollup-win32-x64-msvc': 4.53.1 + fsevents: 2.3.3 + + run-async@3.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safer-buffer@2.1.2: {} + + sanitize-filename@1.6.3: + dependencies: + truncate-utf8-bytes: 1.0.2 + + scheduler@0.20.2: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.27.0: {} + + scroll-into-view-if-needed@3.1.0: + dependencies: + compute-scroll-into-view: 3.1.1 + + semver-diff@3.1.1: + dependencies: + semver: 6.3.1 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.5.3: + dependencies: + lru-cache: 6.0.0 + + semver@7.7.3: {} + + semver@7.7.4: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.6: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + serve@14.2.5: + dependencies: + '@zeit/schemas': 2.36.0 + ajv: 8.12.0 + arg: 5.0.2 + boxen: 7.0.0 + chalk: 5.0.1 + chalk-template: 0.4.0 + clipboardy: 3.0.0 + compression: 1.8.1 + is-port-reachable: 4.0.0 + serve-handler: 6.1.6 + update-check: 1.5.4 + transitivePeerDependencies: + - supports-color + + set-cookie-parser@2.7.2: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + setimmediate@1.0.5: {} + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + slash@2.0.0: {} + + slash@3.0.0: {} + + slice-ansi@7.1.2: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 + + smart-buffer@4.2.0: {} + + smob@1.5.0: {} + + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + socks: 2.8.7 + transitivePeerDependencies: + - supports-color + + socks@2.8.7: + dependencies: + ip-address: 10.1.0 + smart-buffer: 4.2.0 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + spdx-compare@1.0.0: + dependencies: + array-find-index: 1.0.2 + spdx-expression-parse: 3.0.1 + spdx-ranges: 2.1.1 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 + + spdx-expression-validate@2.0.0: + dependencies: + spdx-expression-parse: 3.0.1 + + spdx-license-ids@3.0.22: {} + + spdx-ranges@2.1.1: {} + + spdx-satisfies@5.0.1: + dependencies: + spdx-compare: 1.0.0 + spdx-expression-parse: 3.0.1 + spdx-ranges: 2.1.1 + + split.js@1.6.5: {} + + stackback@0.0.2: {} + + stackframe@1.3.4: {} + + staged-git-files@1.3.0: {} + + statuses@2.0.1: {} + + statuses@2.0.2: {} + + std-env@3.10.0: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + streamx@2.23.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + strict-event-emitter@0.5.1: {} + + string-argv@0.3.2: {} + + string-convert@0.2.1: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + string-width@8.1.0: + dependencies: + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + 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.0 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string_decoder@0.10.31: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@2.0.0: + dependencies: + is-utf8: 0.2.1 + + strip-bom@3.0.0: {} + + strip-comments@1.0.2: + dependencies: + babel-extract-comments: 1.0.0 + babel-plugin-transform-object-rest-spread: 6.26.0 + + strip-final-newline@2.0.0: {} + + strip-json-comments@1.0.4: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-mod@4.1.3: {} + + stylis@4.3.6: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.11.11: + dependencies: + '@pkgr/core': 0.2.9 + + tar-fs@3.1.1: + dependencies: + pump: 3.0.3 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.5.0 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + + tar-stream@3.1.7: + dependencies: + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + term-size@2.2.1: {} + + terser@5.44.1: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.5 + minimatch: 9.0.5 + + testcafe-browser-provider-playwright@1.1.0(playwright@1.56.1): + dependencies: + playwright: 1.56.1 + + testcafe-browser-tools@2.0.26: + dependencies: + array-find: 1.0.0 + debug: 4.4.3 + dedent: 0.7.0 + del: 5.1.0 + execa: 3.4.0 + fs-extra: 10.1.0 + graceful-fs: 4.2.11 + linux-platform-info: 0.0.3 + lodash: 4.17.21 + mkdirp: 0.5.6 + mustache: 2.3.2 + nanoid: 3.3.11 + os-family: 1.1.0 + pify: 2.3.0 + pinkie: 2.0.4 + read-file-relative: 1.2.0 + which-promise: 1.0.0 + transitivePeerDependencies: + - supports-color + + testcafe-hammerhead@31.7.5: + dependencies: + '@adobe/css-tools': 4.4.4 + '@electron/asar': 3.4.1 + acorn-hammerhead: 0.6.2 + bowser: 1.6.0 + crypto-md5: 1.0.0 + debug: 4.3.1 + esotope-hammerhead: 0.6.9 + http-cache-semantics: 4.2.0 + httpntlm: 1.8.13 + iconv-lite: 0.5.1 + lodash: 4.17.21 + lru-cache: 11.0.2 + match-url-wildcard: 0.0.4 + merge-stream: 1.0.1 + mime: 1.4.1 + mustache: 2.3.2 + nanoid: 3.3.11 + os-family: 1.1.0 + parse5: 7.3.0 + pinkie: 2.0.4 + read-file-relative: 1.2.0 + semver: 7.5.3 + tough-cookie: 4.1.3 + tunnel-agent: 0.6.0 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + testcafe-legacy-api@5.1.8: + dependencies: + async: 3.2.3 + dedent: 0.6.0 + highlight-es: 1.0.3 + lodash: 4.17.21 + moment: 2.30.1 + mustache: 2.3.2 + os-family: 1.1.0 + parse5: 2.2.3 + pify: 2.3.0 + pinkie: 2.0.4 + read-file-relative: 1.2.0 + strip-bom: 2.0.0 + testcafe-hammerhead: 31.7.5 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + testcafe-reporter-json@2.2.0: {} + + testcafe-reporter-list@2.2.0: {} + + testcafe-reporter-minimal@2.2.0: {} + + testcafe-reporter-spec@2.2.0: {} + + testcafe-reporter-xunit@2.2.3: {} + + testcafe-selector-generator@0.1.0: {} + + testcafe@3.7.2: + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-runtime': 7.23.3(@babel/core@7.28.5) + '@babel/preset-env': 7.28.5(@babel/core@7.28.5) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-react': 7.28.5(@babel/core@7.28.5) + '@babel/runtime': 7.28.4 + '@devexpress/bin-v8-flags-filter': 1.3.0 + '@devexpress/callsite-record': 4.1.7 + '@types/node': 20.14.5 + address: 2.0.3 + async-exit-hook: 1.1.2 + babel-plugin-module-resolver: 5.0.0 + babel-plugin-syntax-trailing-function-commas: 6.22.0 + bowser: 2.12.1 + callsite: 1.0.0 + chai: 4.3.4 + chalk: 2.4.2 + chrome-remote-interface: 0.32.2 + coffeescript: 2.7.0 + commander: 8.3.0 + debug: 4.4.3 + dedent: 0.4.0 + del: 3.0.0 + device-specs: 1.0.1 + devtools-protocol: 0.0.1109433 + diff: 4.0.2 + elegant-spinner: 1.0.1 + email-validator: 2.0.4 + emittery: 0.4.1 + error-stack-parser: 2.1.4 + execa: 4.1.0 + get-os-info: 1.0.2 + globby: 11.1.0 + graceful-fs: 4.2.11 + graphlib: 2.1.8 + http-status-codes: 2.3.0 + humanize-duration: 3.33.1 + import-lazy: 3.1.0 + indent-string: 1.2.2 + is-ci: 1.2.1 + is-docker: 2.2.1 + is-glob: 2.0.1 + is-podman: 1.0.1 + is-stream: 2.0.1 + json5: 2.2.3 + lodash: 4.17.21 + log-update-async-hook: 2.0.7 + make-dir: 3.1.0 + mime-db: 1.54.0 + moment: 2.30.1 + moment-duration-format-commonjs: 1.0.1 + mustache: 2.3.2 + nanoid: 3.3.11 + os-family: 1.1.0 + parse5: 1.5.1 + pify: 2.3.0 + pinkie: 2.0.4 + pngjs: 3.4.0 + pretty-hrtime: 1.0.3 + promisify-event: 1.0.0 + prompts: 2.4.2 + qrcode-terminal: 0.10.0 + read-file-relative: 1.2.0 + replicator: 1.0.5 + resolve-cwd: 1.0.0 + resolve-from: 4.0.0 + sanitize-filename: 1.6.3 + semver: 7.7.3 + set-cookie-parser: 2.7.2 + source-map-support: 0.5.21 + strip-bom: 2.0.0 + testcafe-browser-tools: 2.0.26 + testcafe-hammerhead: 31.7.5 + testcafe-legacy-api: 5.1.8 + testcafe-reporter-json: 2.2.0 + testcafe-reporter-list: 2.2.0 + testcafe-reporter-minimal: 2.2.0 + testcafe-reporter-spec: 2.2.0 + testcafe-reporter-xunit: 2.2.3 + testcafe-selector-generator: 0.1.0 + time-limit-promise: 1.0.4 + tmp: 0.0.28 + tree-kill: 1.2.2 + typescript: 4.7.4 + unquote: 1.1.1 + url-to-options: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + text-decoder@1.2.3: + dependencies: + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a + + throttle-debounce@5.0.2: {} + + time-limit-promise@1.0.4: {} + + tiny-case@1.0.3: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyrainbow@2.0.0: {} + + tinyrainbow@3.0.3: {} + + tldts-core@7.0.17: {} + + tldts@7.0.17: + dependencies: + tldts-core: 7.0.17 + + tmp@0.0.28: + dependencies: + os-tmpdir: 1.0.2 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toggle-selection@1.0.6: {} + + toidentifier@1.0.1: {} + + toposort@2.0.2: {} + + totalist@3.0.1: {} + + tough-cookie@4.1.3: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tough-cookie@6.0.0: + dependencies: + tldts: 7.0.17 + + tr46@0.0.3: {} + + tree-kill@1.2.2: {} + + truncate-utf8-bytes@1.0.2: + dependencies: + utf8-byte-length: 1.0.5 + + ts-api-utils@1.4.3(typescript@4.7.4): + dependencies: + typescript: 4.7.4 + + ts-api-utils@2.1.0(typescript@4.7.4): + dependencies: + typescript: 4.7.4 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.1.0: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@2.19.0: {} + + type-fest@4.41.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typed-query-selector@2.12.0: {} + + typescript@4.7.4: {} + + ua-parser-js@1.0.41: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + underscore@1.12.1: {} + + underscore@1.13.7: {} + + undici-types@5.26.5: {} + + undici-types@6.21.0: {} + + undici-types@7.16.0: + optional: true + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + universalify@0.2.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unquote@1.1.1: {} + + until-async@3.0.2: {} + + update-browserslist-db@1.1.4(browserslist@4.27.0): + dependencies: + browserslist: 4.27.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-check@1.5.4: + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + url-to-options@2.0.0: {} + + use-composed-ref@1.4.0(@types/react@19.2.2)(react@17.0.2): + dependencies: + react: 17.0.2 + optionalDependencies: + '@types/react': 19.2.2 + + use-isomorphic-layout-effect@1.2.1(@types/react@19.2.2)(react@17.0.2): + dependencies: + react: 17.0.2 + optionalDependencies: + '@types/react': 19.2.2 + + use-latest@1.3.0(@types/react@19.2.2)(react@17.0.2): + dependencies: + react: 17.0.2 + use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.2)(react@17.0.2) + optionalDependencies: + '@types/react': 19.2.2 + + use-sync-external-store@1.6.0(react@17.0.2): + dependencies: + react: 17.0.2 + + use-sync-external-store@1.6.0(react@18.3.1): + dependencies: + react: 18.3.1 + + use-sync-external-store@1.6.0(react@19.2.0): + dependencies: + react: 19.2.0 + + utf8-byte-length@1.0.5: {} + + util-deprecate@1.0.2: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@13.0.0: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1): + dependencies: + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.53.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.10.0 + fsevents: 2.3.3 + lightningcss: 1.30.2 + terser: 5.44.1 + yaml: 2.8.1 + + vitest-browser-react@2.0.2(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vitest@4.0.8): + dependencies: + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + vitest: 4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1) + optionalDependencies: + '@types/react': 19.2.2 + + vitest@4.0.8(@types/node@24.10.0)(@vitest/browser-playwright@4.0.8)(happy-dom@20.0.10)(lightningcss@1.30.2)(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(terser@5.44.1)(yaml@2.8.1): + dependencies: + '@vitest/expect': 4.0.8 + '@vitest/mocker': 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.8 + '@vitest/runner': 4.0.8 + '@vitest/snapshot': 4.0.8 + '@vitest/spy': 4.0.8 + '@vitest/utils': 4.0.8 + debug: 4.4.3 + es-module-lexer: 1.7.0 + expect-type: 1.2.2 + magic-string: 0.30.21 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.10.0 + '@vitest/browser-playwright': 4.0.8(msw@2.12.2(@types/node@24.10.0)(typescript@4.7.4))(playwright@1.56.1)(vite@7.2.2(@types/node@24.10.0)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.1))(vitest@4.0.8) + happy-dom: 20.0.10 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + w3c-keyname@2.2.8: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + weak-lru-cache@1.2.2: {} + + web-streams-polyfill@3.3.3: {} + + webdriver-bidi-protocol@0.3.8: {} + + webidl-conversions@3.0.1: {} + + whatwg-mimetype@3.0.0: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-promise@1.0.0: + dependencies: + pify: 2.3.0 + pinkie-promise: 1.0.0 + which: 1.3.1 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + windows-release@5.1.1: + dependencies: + execa: 5.1.1 + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + ws@7.5.10: {} + + ws@8.18.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml@2.8.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.3: {} + + yup@1.7.1: + dependencies: + property-expr: 2.0.6 + tiny-case: 1.0.3 + toposort: 2.0.2 + type-fest: 2.19.0 + + zod@3.25.76: {} diff --git a/packages/reactor-extension/pnpm-workspace.yaml b/packages/reactor-extension/pnpm-workspace.yaml new file mode 100644 index 000000000..b433e68dd --- /dev/null +++ b/packages/reactor-extension/pnpm-workspace.yaml @@ -0,0 +1,19 @@ +minimumReleaseAge: 2880 # 2 days +minimumReleaseAgeExclude: + - "@adobe/alloy" + - "@adobe/reactor-sandbox" + - "@adobe/reactor-turbine" + - "@adobe/reactor-turbine-schemas" +verifyDepsBeforeRun: warn +ignoredBuiltDependencies: + - core-js + - lmdb + - msgpackr-extract +onlyBuiltDependencies: + - "@parcel/watcher" + - "@swc/core" + - esbuild + - msw + - puppeteer +packages: + - scripts/helpers/parcel-transformer-extension-name diff --git a/packages/reactor-extension/resources/images/icon.svg b/packages/reactor-extension/resources/images/icon.svg new file mode 100644 index 000000000..9d626501f --- /dev/null +++ b/packages/reactor-extension/resources/images/icon.svg @@ -0,0 +1,8 @@ + diff --git a/packages/reactor-extension/rollup.config.mjs b/packages/reactor-extension/rollup.config.mjs new file mode 100644 index 000000000..e25ef39a9 --- /dev/null +++ b/packages/reactor-extension/rollup.config.mjs @@ -0,0 +1,33 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import resolve from "@rollup/plugin-node-resolve"; +import commonjs from "@rollup/plugin-commonjs"; + +export default [ + { + input: "src/lib/alloy.js", + output: [ + { + file: "temp/alloy.js", + }, + ], + plugins: [ + resolve({ + preferBuiltins: false, + mainFields: ["module", "main", "browser"], + }), + commonjs(), + ], + external: ["@adobe/reactor-query-string"], + }, +]; diff --git a/packages/reactor-extension/rollup.test.config.js b/packages/reactor-extension/rollup.test.config.js new file mode 100644 index 000000000..4d4a5d465 --- /dev/null +++ b/packages/reactor-extension/rollup.test.config.js @@ -0,0 +1,36 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const resolve = require("@rollup/plugin-node-resolve"); +const commonjs = require("@rollup/plugin-commonjs"); +const babel = require("@rollup/plugin-babel"); +const istanbul = require("rollup-plugin-istanbul"); +const minimist = require("minimist"); + +const argv = minimist(process.argv.slice(2)); +const plugins = [resolve(), commonjs(), babel({ babelHelpers: "bundled" })]; + +if (argv.reporters && argv.reporters.split(",").includes("coverage")) { + plugins.unshift( + istanbul({ + exclude: ["test/unit/**/*.spec.js", "node_modules/**"], + }), + ); +} + +module.exports = { + output: { + format: "iife", + sourcemap: true, + }, + plugins, +}; diff --git a/packages/reactor-extension/sauceLabsCapabilities.json b/packages/reactor-extension/sauceLabsCapabilities.json new file mode 100644 index 000000000..0adffb966 --- /dev/null +++ b/packages/reactor-extension/sauceLabsCapabilities.json @@ -0,0 +1,11 @@ +{ + "extendedDebugging": false, + "capturePerformance": true, + "recordScreenshots": false, + "recordVideo": false, + "videoUploadOnPass": false, + "idleTimeout": 180, + "maxDuration": 1800, + "commandTimeout": 300, + "tunnelIdentifier": "${SAUCE_TUNNEL_ID}" +} \ No newline at end of file diff --git a/packages/reactor-extension/scripts/add-license.mjs b/packages/reactor-extension/scripts/add-license.mjs new file mode 100755 index 000000000..9a3fc0aa5 --- /dev/null +++ b/packages/reactor-extension/scripts/add-license.mjs @@ -0,0 +1,146 @@ +#!/usr/bin/env node + +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import fs from "fs"; +import fsPromises from "fs/promises"; +import path from "path"; +import { performance } from "perf_hooks"; +import stagedGitFiles from "staged-git-files"; +import { fileURLToPath } from "url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const PROJECT_ROOT = path.resolve(__dirname, "../"); +const COMPARISON_LENGTH = `/* +Copyright`.length; + +const GIT_DELETED = "Deleted"; +const SOURCE_FILE_EXTENSIONS = ["js", "jsx", "ts", "tsx", "cjs", "mjs"]; +const IGNORE_PATTERNS = [ + /\/scripts\//gi, + /\/\.parcel-cache\//gi, + /\/\.sandbox\//gi, + /\/componentFixtureDist\//gi, +]; + +const createLicenseText = (year) => `/* +Copyright ${year} Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +`; + +const walk = async (dir, matchesFilter) => { + let files = await fsPromises.readdir(dir); + files = await Promise.all( + files + .filter((file) => matchesFilter(file, dir)) + .map(async (file) => { + const filePath = path.join(dir, file); + const stats = await fsPromises.stat(filePath); + if (stats.isDirectory()) { + return walk(filePath, matchesFilter); + } + return filePath; + }), + ); + + return files.reduce((all, folderContents) => all.concat(folderContents), []); +}; + +const getStagedGitFiles = async () => { + return (await stagedGitFiles()) + .filter((detail) => { + const parts = detail.filename.split("."); + return ( + detail.status !== GIT_DELETED && + parts.length > 1 && + SOURCE_FILE_EXTENSIONS.includes(parts[1]) + ); + }) + .map((detail) => path.join(PROJECT_ROOT, detail.filename)); +}; + +const getAllSourceFiles = () => { + const IGNORED = ["node_modules", ".git", "dist"]; + return walk(PROJECT_ROOT, (file, dir) => { + const filePath = path.join(dir, file); + const stats = fs.statSync(filePath); + + if (IGNORED.some((ignoredFile) => filePath.includes(ignoredFile))) { + return false; + } + + if (stats.isDirectory()) { + return true; + } + + if ( + stats.isFile() && + SOURCE_FILE_EXTENSIONS.some((ext) => file.endsWith(ext)) + ) { + return true; + } + return false; + }); +}; + +const run = async () => { + const startTime = performance.now(); + const stagedOnly = typeof process.env.STAGED_ONLY !== "undefined"; + + const templateText = createLicenseText(new Date().getFullYear()); + + const sourceFiles = stagedOnly + ? await getStagedGitFiles() + : await getAllSourceFiles(); + + const filesInspected = await Promise.all( + sourceFiles + .filter((file) => + IGNORE_PATTERNS.every((pattern) => !file.match(pattern)), + ) + .map(async (file) => { + const contents = await fsPromises.readFile(path.resolve(file), "utf-8"); + if ( + templateText.slice(0, COMPARISON_LENGTH) !== + contents.slice(0, COMPARISON_LENGTH) + ) { + await fsPromises.writeFile( + path.resolve(file), + `${templateText}${contents}`, + ); + return true; + } + return false; + }), + ); + const alteredFileCount = filesInspected.filter(Boolean).length; + + const runTime = performance.now() - startTime; + // eslint-disable-next-line no-console + console.log( + `✨ Added license to ${alteredFileCount} of ${filesInspected.length} ${ + stagedOnly ? "staged " : "" + }files in ${runTime}ms.`, + ); +}; + +await run(); diff --git a/packages/reactor-extension/scripts/buildAlloy.mjs b/packages/reactor-extension/scripts/buildAlloy.mjs new file mode 100755 index 000000000..c3cc8d046 --- /dev/null +++ b/packages/reactor-extension/scripts/buildAlloy.mjs @@ -0,0 +1,187 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +// This file will be used by Tags in order to generate a custom Alloy build based on user options. +// Tags doesn't support ES6 modules, so we need to compile to CommonJS modules here. +import path, { dirname } from "path"; +import fs from "fs"; +import { spawn, execSync } from "child_process"; +import { Command, Option, InvalidOptionArgumentError } from "commander"; +import babel from "@babel/core"; +import { fileURLToPath } from "url"; +import alloyComponents, { + isDefaultComponent, +} from "../src/view/utils/alloyComponents.mjs"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + +const execute = (command, options) => { + return new Promise((resolve, reject) => { + spawn(command, options, { + stdio: "inherit", + }) + .on("exit", resolve) + .on("error", reject); + }); +}; + +const getPackageManager = () => { + try { + execSync("pnpm --version", { stdio: "ignore" }); + return "pnpm"; + } catch { + return "npm"; + } +}; + +const entryPointGeneratorBabelPlugin = (t, includedModules) => ({ + visitor: { + VariableDeclarator(babelPath) { + if (babelPath.node.id.name === "components") { + babelPath.replaceWith( + t.VariableDeclarator( + t.Identifier("components"), + t.ArrayExpression( + includedModules.map((module) => + t.MemberExpression( + t.Identifier("optionalComponents"), + t.Identifier(module), + ), + ), + ), + ), + ); + + babelPath.stop(); + } + }, + }, +}); + +const addAlloyModulesToEntryFile = ({ + inputFile, + outputDir, + includedModules, +}) => { + const output = babel.transformFileSync(inputFile, { + plugins: [entryPointGeneratorBabelPlugin(babel.types, includedModules)], + }).code; + + const filename = path.basename(inputFile); + const outputPath = path.join(outputDir, filename); + + fs.writeFileSync(outputPath, output); + + return outputPath; +}; + +const program = new Command(); + +program + .name("buildCustomAlloy") + .description("Tool for generating custom alloy build based on user input."); + +program.addOption( + new Option("-i, --inputFile ", "the entry point file for the build") + .makeOptionMandatory() + .argParser((value) => { + if (!fs.existsSync(path.join(process.cwd(), value))) { + throw new InvalidOptionArgumentError( + `Input file "${value}" does not exist.`, + ); + } + + return value; + }), +); + +program.addOption( + new Option( + "-o, --outputDir ", + "the output directory for the generated build", + ) + .default(process.cwd()) + .argParser((value) => { + if (!fs.existsSync(path.join(process.cwd(), value))) { + throw new InvalidOptionArgumentError( + `Output directory "${value}" is not a valid directory path.`, + ); + } + + return value; + }), +); + +Object.keys(alloyComponents).forEach((component) => { + const isDefault = isDefaultComponent(component); + program.addOption( + new Option(`--${component} `, `enable ${component} module`) + .env(`ALLOY_${component.toUpperCase()}`) + .default(isDefault, Boolean(isDefault).toString()) + .argParser((val) => { + if (val === "0" || val === "false") { + return false; + } + + return true; + }), + ); +}); + +program.action(async ({ inputFile, outputDir, ...modules }) => { + const includedModules = Object.entries(modules).reduce( + (acc, [key, value]) => { + if (value === true) { + acc.push(key); + } + + return acc; + }, + [], + ); + + // eslint-disable-next-line no-console + console.log("Generating build with modules: ", includedModules.join(", ")); + + let entryFile; + try { + entryFile = addAlloyModulesToEntryFile({ + inputFile, + outputDir, + includedModules, + }); + + await execute(getPackageManager(), [ + "exec", + "--", + "rollup", + "-c", + path.join(__dirname, "../rollup.config.mjs"), + "-i", + entryFile, + "-o", + entryFile, + ]); + + const output = babel.transformFileSync(entryFile, { + presets: [["@babel/preset-env"]], + }).code; + + fs.writeFileSync(entryFile, output); + } catch (e) { + fs.unlinkSync(entryFile); + console.error(e); + process.exit(1); + } +}); + +program.parse(); diff --git a/packages/reactor-extension/scripts/buildAlloyPreinstalled.mjs b/packages/reactor-extension/scripts/buildAlloyPreinstalled.mjs new file mode 100755 index 000000000..af35e3e53 --- /dev/null +++ b/packages/reactor-extension/scripts/buildAlloyPreinstalled.mjs @@ -0,0 +1,122 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +/* eslint-disable no-console */ + +// This script builds a functional stub alloy.js when using preinstalled library type. +// It provides proxy implementations that work with self-hosted alloy instances. + +import path from "path"; +import fs from "fs"; +import { fileURLToPath } from "url"; +import { Command, Option, InvalidOptionArgumentError } from "commander"; +import { spawn, execSync } from "child_process"; +import babel from "@babel/core"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const execute = (command, options) => { + return new Promise((resolve, reject) => { + spawn(command, options, { + stdio: "inherit", + }) + .on("exit", resolve) + .on("error", reject); + }); +}; + +const getPackageManager = () => { + try { + execSync("pnpm --version", { stdio: "ignore" }); + return "pnpm"; + } catch { + return "npm"; + } +}; + +const program = new Command(); + +program + .name("buildAlloyPreinstalled") + .description( + "Tool for generating an empty/proxy alloy build for preinstalled library type.", + ); + +program.addOption( + new Option("-i, --inputFile ", "the entry point file for the build") + .makeOptionMandatory() + .argParser((value) => { + if (!fs.existsSync(path.join(process.cwd(), value))) { + throw new InvalidOptionArgumentError( + `Input file "${value}" does not exist.`, + ); + } + + return value; + }), +); + +program.addOption( + new Option( + "-o, --outputDir ", + "the output directory for the generated build", + ) + .default(process.cwd()) + .argParser((value) => { + if (!fs.existsSync(path.join(process.cwd(), value))) { + throw new InvalidOptionArgumentError( + `Output directory "${value}" is not a valid directory path.`, + ); + } + + return value; + }), +); + +program.addOption( + new Option( + "-f, --filename ", + "the output filename for the generated build", + ).default("alloy.js"), +); + +program.action(async ({ inputFile, outputDir, filename }) => { + console.log(`Using entry file: ${inputFile}`); + const outputFile = path.join(outputDir, filename); + + try { + await execute(getPackageManager(), [ + "exec", + "--", + "rollup", + "-c", + path.join(__dirname, "../rollup.config.mjs"), + "-i", + inputFile, + "-o", + outputFile, + ]); + + const output = babel.transformFileSync(outputFile, { + presets: [["@babel/preset-env"]], + }).code; + + console.log(`Output: ${outputFile}`); + fs.writeFileSync(outputFile, output); + } catch (error) { + console.error("❌ Error building empty alloy.js:", error); + process.exit(1); + } +}); + +program.parse(); diff --git a/packages/reactor-extension/scripts/buildComponentFixtures.mjs b/packages/reactor-extension/scripts/buildComponentFixtures.mjs new file mode 100755 index 000000000..9a64d301f --- /dev/null +++ b/packages/reactor-extension/scripts/buildComponentFixtures.mjs @@ -0,0 +1,42 @@ +#!/usr/bin/env node + +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import path from "path"; +import { Parcel } from "@parcel/core"; +import { __dirname } from "./helpers/options.mjs"; + +const componentFixturePath = path.join( + __dirname, + "../../test/functional/helpers/components/fixture.html", +); +const componentFixtureOutputDir = path.join( + __dirname, + "../../componentFixtureDist", +); + +new Parcel({ + entries: componentFixturePath, + defaultConfig: "@parcel/config-default", + // Development mode is required to keep the data-test-id props + mode: "development", + defaultTargetOptions: { + publicUrl: "./", + distDir: componentFixtureOutputDir, + }, + sourceMaps: true, +}) + .run() + .then(() => { + console.log("Built component fixtures"); + }); diff --git a/packages/reactor-extension/scripts/buildExtensionManifest.mjs b/packages/reactor-extension/scripts/buildExtensionManifest.mjs new file mode 100755 index 000000000..6f7188ef3 --- /dev/null +++ b/packages/reactor-extension/scripts/buildExtensionManifest.mjs @@ -0,0 +1,127 @@ +#!/usr/bin/env node + +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import { readFile, writeFile } from "fs/promises"; +import Ajv from "ajv-draft-04"; +import addAJVFormats from "ajv-formats"; +import { join, resolve } from "path"; +import { env } from "process"; +import prettier from "prettier"; +import createExtensionManifest from "./helpers/createExtensionManifest.mjs"; + +const extensionDescriptorSchema = JSON.parse( + await readFile( + new URL( + "../node_modules/@adobe/reactor-turbine-schemas/schemas/extension-package-web.json", + import.meta.url, + ), + ), +); + +/** + * Get the variable options for the manifest. + * @param {Object} environment + * @returns {import("./createExtensionManifest.mjs").ExtensionManifestConfiguration} + */ +const getOptions = (environment) => { + // get version from environment + return { + version: environment.npm_package_version, + }; +}; + +/** + * Validate the given manifest. + * @param {ExtensionManifest} manifest + * @returns {string | undefined} An error message if invalid, undefined if valid. + */ +const validate = (manifest) => { + // This code is based on validateJsonStructure() in @adobe/reactor-validator. + // We don't use that package directly because it also validates the files + // mentioned in the extension manifest, which may not be present yet. + + const ajv = new Ajv({ + schemaId: "auto", + strict: false, + }); + addAJVFormats(ajv); + if (!ajv.validate(extensionDescriptorSchema, manifest)) { + return ajv.errorsText(); + } + return undefined; +}; + +/** + * Get the filepath of the extension.json + * @param {string} repoRoot The root path of the repository. + * @returns {string} + */ +const getDestination = (repoRoot) => { + return resolve(join(repoRoot, "extension.json")); +}; + +/** + * Stringify and format the object as JSON. + * @param {Object} obj + * @param {boolean=} prettyPrint Whether to pretty print the JSON. + * @returns {Promise} + */ +const stringify = async (obj, prettyPrint = true) => { + const result = JSON.stringify(obj); + if (!prettyPrint) { + return result; + } + const prettierConfig = await prettier.resolveConfig(); + return prettier.format(result, { + ...prettierConfig, + parser: "json-stringify", + }); +}; + +/** + * Write the given content tob the given path. Serializes the object if needed. + * @param {string} path + * @param {Object | string} content + * @returns {Promise} + */ +const write = async (path, content) => { + const result = + typeof content === "string" ? content : await stringify(content); + await writeFile(path, result, "utf8"); +}; + +/** + * Builds the extension manifest by pulling the configuration from package.json + * and writes it to the filesystem as extension.json in the root of the + * repository. + * @returns {Promise} The path to the written file. + */ +const build = async () => { + const options = await getOptions(env); + const manifest = createExtensionManifest(options); + const error = validate(manifest); + if (error) { + throw new Error(`Invalid extension manifest: ${error}`); + } + const writePath = getDestination(process.cwd()); + await write(writePath, manifest); + + // eslint-disable-next-line no-console + console.log( + "\x1b[32m%s\x1b[0m", + `✅ Extension manifest written to ${writePath}`, + ); + return writePath; +}; + +build(); diff --git a/packages/reactor-extension/scripts/buildLib.mjs b/packages/reactor-extension/scripts/buildLib.mjs new file mode 100755 index 000000000..2d88ed172 --- /dev/null +++ b/packages/reactor-extension/scripts/buildLib.mjs @@ -0,0 +1,60 @@ +#!/usr/bin/env node + +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import path from "path"; +import fs from "fs"; +import { spawn } from "child_process"; +import run from "./helpers/run.mjs"; +import { watch, inputDir, outputDir } from "./helpers/options.mjs"; + +// Runtime tests need a .sandbox directory to run +const sandboxDir = path.join(outputDir, "../.sandbox"); +if (!fs.existsSync(sandboxDir)) { + fs.mkdirSync(sandboxDir); +} + +const libInDir = path.join(inputDir, "lib"); +const libOutDir = path.join(outputDir, "lib"); +const alloyInFile = path.join(libInDir, "alloy.js"); + +// ignore alloy.js because it will be built separately in buildAlloy.js +run("babel", [ + libInDir, + "--out-dir", + libOutDir, + "--ignore", + alloyInFile, + "--presets=@babel/preset-env", +]); + +if (watch) { + const babelWatchSubprocess = spawn( + "babel", + [ + libInDir, + "--out-dir", + libOutDir, + "--watch", + "--skip-initial-build", + "--ignore", + alloyInFile, + "--presets=@babel/preset-env", + ], + { stdio: "inherit" }, + ); + // cleanup this process on ctrl-c + process.on("exit", () => { + babelWatchSubprocess.kill(); + }); +} diff --git a/packages/reactor-extension/scripts/buildViews.mjs b/packages/reactor-extension/scripts/buildViews.mjs new file mode 100755 index 000000000..5d31fe404 --- /dev/null +++ b/packages/reactor-extension/scripts/buildViews.mjs @@ -0,0 +1,61 @@ +#!/usr/bin/env node + +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import path from "path"; +import { Parcel } from "@parcel/core"; +import { watch, inputDir, outputDir } from "./helpers/options.mjs"; + +const viewEntries = path.join(inputDir, "view/**/*.html"); +const viewOutDir = path.join(outputDir, "view"); + +const isProd = process.env.NODE_ENV === "production"; + +const bundler = new Parcel({ + entries: viewEntries, + defaultConfig: "@parcel/config-default", + mode: isProd ? "production" : "development", + // By default, Parcel updates script tags on HTML files to reference post-processed JavaScript files + // by using an absolute directory. We can't use absolute directories, because our extension's view files + // are deployed by Launch to Akamai under a deep subdirectory. We use publicUrl to ensure we use a relative + // path for loading JavaScript files. + defaultTargetOptions: { + publicUrl: "../", + distDir: viewOutDir, + sourceMaps: !isProd, + shouldOptimize: isProd, + shouldScopeHoist: false, + }, + shouldDisableCache: true, + additionalReporters: [ + { + packageName: "@parcel/reporter-cli", + resolveFrom: viewOutDir, + }, + ], +}); +if (watch) { + new Promise((resolve) => { + const subscription = bundler.watch(() => { + resolve(); + }); + process.on("exit", () => { + // stop watching when the main process exits + if (typeof subscription?.unsubscribe === "function") { + subscription.unsubscribe(); + } + }); + }); +} else { + bundler.run(); +} diff --git a/packages/reactor-extension/scripts/createExtensionPackage.mjs b/packages/reactor-extension/scripts/createExtensionPackage.mjs new file mode 100755 index 000000000..ee368827d --- /dev/null +++ b/packages/reactor-extension/scripts/createExtensionPackage.mjs @@ -0,0 +1,210 @@ +#!/usr/bin/env node + +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +/* eslint-disable no-console */ + +import { spawnSync } from "child_process"; +import fs from "fs"; +import path, { dirname } from "path"; +import { fileURLToPath } from "url"; +import AdmZip from "adm-zip"; +import { Command } from "commander"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const cwd = path.join(__dirname, ".."); + +const execute = ( + command, + args, + { verbose, ...options } = { verbose: false }, +) => { + const r = spawnSync( + command, + args, + Object.assign(options, verbose ? { stdio: "inherit" } : {}), + ); + + if (r.status !== 0) { + if (r.stderr) { + const error = r.stderr.toString().trim(); + throw new Error(error); + } else { + throw new Error( + `An error occurred while executing the command: ${command}.`, + ); + } + } +}; + +const getExtensionJson = () => { + const extensonJsonContent = fs.readFileSync( + path.join(cwd, "extension.json"), + "utf8", + ); + return JSON.parse(extensonJsonContent); +}; + +const getExtensionPath = (extensionDescriptor) => + path.join( + cwd, + `package-${extensionDescriptor.name}-${extensionDescriptor.version}.zip`, + ); + +const getPackageJson = () => { + console.log("Generating the package.json file..."); + const alloyPackageJson = JSON.parse( + fs.readFileSync(path.join(cwd, "package.json"), "utf8"), + ); + + const allDependencies = { + ...alloyPackageJson.dependencies, + ...alloyPackageJson.devDependencies, + }; + + const buildPackageJson = { + name: "reactor-extension-alloy", + version: "1.0.0", + author: { + name: "Adobe", + url: "http://adobe.com", + email: "reactor@adobe.com", + }, + scripts: { + build: + '[ "$ALLOY_LIBRARY_TYPE" = "\\"preinstalled\\"" ] && node ./scripts/buildAlloyPreinstalled.mjs -i ./alloyPreinstalled.js -o ./dist/lib || node ./scripts/buildAlloy.mjs -i ./alloy.js -o ./dist/lib', + }, + license: "Apache-2.0", + description: "Tool for generating custom alloy build based on user input.", + dependencies: { + "@adobe/alloy": "", + "@babel/core": "", + "@babel/preset-env": "", + "@rollup/plugin-commonjs": "", + "@rollup/plugin-node-resolve": "", + commander: "", + rollup: "", + }, + }; + + buildPackageJson.dependencies = Object.keys( + buildPackageJson.dependencies, + ).reduce((acc, value) => { + acc[value] = allDependencies[value]; + return acc; + }, {}); + + return buildPackageJson; +}; + +const getPackageLockJson = (packageJson) => { + console.log("Generating the package-lock.json file..."); + if (!fs.existsSync(path.join(cwd, "temp"))) { + fs.mkdirSync(path.join(cwd, "temp")); + } + + fs.writeFileSync(path.join(cwd, "temp", "package.json"), packageJson); + + try { + // Because this will be run by forgebuilder, use npm instead of pnpm + console.log("Install dependencies (`npm i`)..."); + execute("npm", ["i"], { cwd: path.join(cwd, "temp") }); + + const packageLockJson = fs.readFileSync( + path.join(cwd, "temp", "package-lock.json"), + ); + + fs.rmSync(path.join(cwd, "temp"), { recursive: true, force: true }); + + return packageLockJson; + } catch (e) { + fs.rmSync(path.join(cwd, "temp"), { recursive: true, force: true }); + throw e; + } +}; + +const createExtensionPackage = ({ verbose }) => { + console.log("Running the clean process (`pnpm run clean`)..."); + execute("pnpm", ["run", "clean"], { verbose }); + + console.log("Running the build process (`pnpm run build`)..."); + execute("pnpm", ["run", "build"], { verbose }); + + console.log( + "Generating the initial extension package...(`npx @adobe/reactor-packager`)", + ); + execute("pnpx", ["@adobe/reactor-packager@latest"], { verbose }); + + const extensionDescriptor = getExtensionJson(); + const packagePath = getExtensionPath(extensionDescriptor); + + if (!fs.existsSync(packagePath)) { + throw new Error( + "The extension file was not found. Probably something wrong happened during build.", + ); + } + + const packageJson = JSON.stringify(getPackageJson(), null, 2); + const packageLockJson = getPackageLockJson(packageJson); + + const zip = new AdmZip(packagePath); + // Create archive package. + console.log("Appending the extra files to the package..."); + zip.addFile("package.json", packageJson); + zip.addFile("package-lock.json", packageLockJson); + + const alloy = fs.readFileSync(path.join(cwd, "src", "lib", "alloy.js")); + zip.addFile("alloy.js", alloy); + + const alloyPreinstalled = fs.readFileSync( + path.join(cwd, "src", "lib", "alloyPreinstalled.js"), + ); + zip.addFile("alloyPreinstalled.js", alloyPreinstalled); + + const rollupConfig = fs.readFileSync(path.join(cwd, "rollup.config.mjs")); + zip.addFile("rollup.config.mjs", rollupConfig); + + const browsersListRcFile = fs.readFileSync(path.join(cwd, ".browserslistrc")); + zip.addFile(".browserslistrc", browsersListRcFile); + + const buildScript = fs.readFileSync( + path.join(cwd, "scripts", "buildAlloy.mjs"), + ); + zip.addFile("scripts/buildAlloy.mjs", buildScript); + + const alloyComponents = fs.readFileSync( + path.join(cwd, "src", "view", "utils", "alloyComponents.mjs"), + ); + zip.addFile("src/view/utils/alloyComponents.mjs", alloyComponents); + + const buildPreinstalledScript = fs.readFileSync( + path.join(cwd, "scripts", "buildAlloyPreinstalled.mjs"), + ); + zip.addFile("scripts/buildAlloyPreinstalled.mjs", buildPreinstalledScript); + + zip.writeZip(packagePath); + console.log("Done"); +}; + +const program = new Command(); + +program + .name("createExtensionPackage") + .description("Tool for generating the alloy extension package for Tags."); + +program.option("-v, --verbose", "verbose mode", false); + +program.action(createExtensionPackage); + +program.parse(); +process.exit(0); diff --git a/packages/reactor-extension/scripts/deploy.sh b/packages/reactor-extension/scripts/deploy.sh new file mode 100755 index 000000000..394de188b --- /dev/null +++ b/packages/reactor-extension/scripts/deploy.sh @@ -0,0 +1,27 @@ +#! /usr/bin/env bash + +# die on any error +set -e + +VERSION=$1 + +pnpm install --frozen-lockfile + +git config user.name $GITHUB_ACTOR +git config user.email gh-actions-${GITHUB_ACTOR}@github.com +git remote add gh-origin git@github.com:${GITHUB_REPOSITORY}.git + +git pull origin main + +pnpm version $VERSION --no-commit-hooks -m "[skip ci] $VERSION" + +git push gh-origin HEAD:main --follow-tags + +pnpm run package + +pnpx @adobe/reactor-uploader@6.0.0-beta.12 package-adobe-alloy-${VERSION}.zip \ + --auth.client-id=f401a5fe22184c91a85fd441a8aa2976 \ + --upload-timeout=300 + +echo "Y" | pnpx @adobe/reactor-releaser@4.0.0-beta.8 \ + --auth.client-id=f401a5fe22184c91a85fd441a8aa2976 diff --git a/packages/reactor-extension/scripts/helpers/createExtensionManifest.mjs b/packages/reactor-extension/scripts/helpers/createExtensionManifest.mjs new file mode 100644 index 000000000..9c25ea43d --- /dev/null +++ b/packages/reactor-extension/scripts/helpers/createExtensionManifest.mjs @@ -0,0 +1,1498 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import alloyComponents, { + isDefaultComponent, +} from "../../src/view/utils/alloyComponents.mjs"; + +const createPreprocessingVariables = () => [ + // Alloy component variables + ...Object.keys(alloyComponents).map((n) => ({ + key: `ALLOY_${n.toUpperCase()}`, + path: `components.${n}`, + default: isDefaultComponent(n), + })), + // Library loading mode variable (string: "managed" or "preinstalled") + { + key: "ALLOY_LIBRARY_TYPE", + path: "libraryCode.type", + default: "managed", + }, +]; + +/** + * @typedef {object} ExtensionManifest + * https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en + * @property {string} displayName + * @property {string} name + * @property {string} iconPath + * @property {string} exchangeUrl + * @property {string} platform + * @property {string} version + * @property {string} description + * @property {string} author.name + * @property {string} viewBasePath + * @property {string} main + * @property {object} configuration + * @property {object[]} actions + * @property {object[]} events + * @property {object[]} dataElements + * @typedef {Pick} ExtensionManifestConfiguration + */ + +const enabledDisabledOrDataElement = { + anyOf: [ + { + type: "boolean", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], +}; + +/** + * Create a slice of a JSON schema used to describe the edge overrides + * configuration. + * Works for both actions and extension configuration + * @param {boolean} isAction + * @returns {object} + */ +const createEdgeConfigOverridesSchema = (isAction) => { + const configOverridesProps = { + enabled: enabledDisabledOrDataElement, + com_adobe_experience_platform: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + datasets: { + type: "object", + properties: { + event: { + type: "object", + properties: { + datasetId: { + type: "string", + }, + }, + required: ["datasetId"], + }, + }, + }, + com_adobe_edge_ode: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + required: ["enabled"], + }, + com_adobe_edge_segmentation: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + required: ["enabled"], + }, + com_adobe_edge_destinations: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + required: ["enabled"], + }, + com_adobe_edge_ajo: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + required: ["enabled"], + }, + }, + }, + com_adobe_analytics: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + reportSuites: { + type: "array", + items: { + type: "string", + }, + }, + }, + }, + com_adobe_identity: { + type: "object", + properties: { + idSyncContainerId: { + anyOf: [ + { + type: "integer", + }, + { + type: "string", + }, + ], + }, + }, + required: ["idSyncContainerId"], + }, + com_adobe_target: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + propertyToken: { + type: "string", + }, + }, + }, + com_adobe_audiencemanager: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + }, + // deprecated and a typo for com_adobe_audiencemanager, but required for backwards compatibility and upgrades + com_adobe_audience_manager: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + }, + com_adobe_launch_ssf: { + type: "object", + properties: { + enabled: enabledDisabledOrDataElement, + }, + }, + }; + const configOverridesWithDatastream = { + ...configOverridesProps, + sandbox: { + type: "string", + minLength: 1, + }, + datastreamId: { + type: "string", + minLength: 1, + }, + datastreamIdInputMethod: { + type: "string", + enum: ["freeform", "select"], + }, + }; + return { + type: "object", + properties: { + ...configOverridesProps, + development: { + type: "object", + additionalProperties: false, + properties: { + ...(isAction ? configOverridesWithDatastream : configOverridesProps), + }, + }, + staging: { + type: "object", + additionalProperties: false, + properties: { + ...(isAction ? configOverridesWithDatastream : configOverridesProps), + }, + }, + production: { + type: "object", + additionalProperties: false, + properties: { + ...(isAction ? configOverridesWithDatastream : configOverridesProps), + }, + }, + }, + }; +}; + +/** + * Create a list of common transforms used to with edge config overrides. + * Works for both actions and extension configuration. + * @param {boolean} isAction + * @returns {{ type: "remove", propertyPath: string }[]} + */ +const createEdgeConfigOverridesTransforms = (isAction) => { + const prefix = isAction ? "" : "instances[]."; + return [ + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.development.sandbox`, + }, + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.staging.sandbox`, + }, + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.production.sandbox`, + }, + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.development.datastreamIdInputMethod`, + }, + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.staging.datastreamIdInputMethod`, + }, + { + type: "remove", + propertyPath: `${prefix}edgeConfigOverrides.production.datastreamIdInputMethod`, + }, + ]; +}; + +/** + * Create the contents of the extension.json aka the extension definition. + * @param {ExtensionManifestConfiguration} options + * @returns {ExtensionManifest} + */ +const createExtensionManifest = ({ version }) => { + const actionEdgeConfigOverridesSchema = createEdgeConfigOverridesSchema(true); + const actionEdgeConfigOverridesTransforms = + createEdgeConfigOverridesTransforms(true); + /** @type {ExtensionManifest} */ + const extensionManifest = { + version, + displayName: "Adobe Experience Platform Web SDK", + name: "adobe-alloy", + iconPath: "resources/images/icon.svg", + exchangeUrl: + "https://exchange.adobe.com/experiencecloud.details.106387.aep-web-sdk.html", + platform: "web", + description: + "The Adobe Experience Platform Web SDK allows for streaming data into the platform, syncing identities, personalizing content, and more.", + author: { + name: "Adobe", + }, + viewBasePath: "dist/view/", + configuration: { + viewPath: "configuration/configuration.html", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + oneOf: [ + { + properties: { + libraryCode: { + type: "object", + properties: { + type: { + type: "string", + enum: ["preinstalled"], + }, + }, + required: ["type"], + additionalProperties: false, + }, + instances: { + type: "array", + minItems: 1, + items: { + type: "object", + properties: { + name: { + type: "string", + pattern: "\\D+", + }, + }, + required: ["name"], + additionalProperties: false, + }, + }, + }, + required: ["libraryCode", "instances"], + additionalProperties: false, + }, + { + properties: { + instances: { + type: "array", + minItems: 1, + items: { + type: "object", + properties: { + name: { + type: "string", + pattern: "\\D+", + }, + edgeConfigId: { + type: "string", + minLength: 1, + }, + stagingEdgeConfigId: { + type: "string", + minLength: 1, + }, + developmentEdgeConfigId: { + type: "string", + minLength: 1, + }, + sandbox: { + type: "string", + minLength: 1, + }, + stagingSandbox: { + type: "string", + minLength: 1, + }, + developmentSandbox: { + type: "string", + minLength: 1, + }, + orgId: { + type: "string", + minLength: 1, + }, + edgeDomain: { + type: "string", + minLength: 1, + }, + edgeBasePath: { + type: "string", + minLength: 1, + }, + defaultConsent: { + anyOf: [ + { + type: "string", + pattern: "^%[^%]+%$", + }, + { + type: "string", + enum: ["in", "out", "pending"], + }, + ], + }, + idMigrationEnabled: { + type: "boolean", + }, + thirdPartyCookiesEnabled: enabledDisabledOrDataElement, + prehidingStyle: { + type: "string", + minLength: 1, + }, + targetMigrationEnabled: { + type: "boolean", + }, + clickCollectionEnabled: { + type: "boolean", + }, + clickCollection: { + type: "object", + properties: { + internalLinkEnabled: { + type: "boolean", + }, + externalLinkEnabled: { + type: "boolean", + }, + downloadLinkEnabled: { + type: "boolean", + }, + sessionStorageEnabled: { + type: "boolean", + }, + eventGroupingEnabled: { + type: "boolean", + }, + filterClickDetails: { + type: "string", + minLength: 1, + }, + }, + additionalProperties: false, + }, + downloadLinkQualifier: { + type: "string", + minLength: 1, + }, + context: { + type: "array", + items: { + type: "string", + enum: [ + "web", + "device", + "environment", + "placeContext", + "highEntropyUserAgentHints", + "oneTimeAnalyticsReferrer", + ], + }, + }, + onBeforeEventSend: { + type: "string", + minLength: 1, + }, + onBeforeLinkClickSend: { + type: "string", + minLength: 1, + }, + edgeConfigOverrides: createEdgeConfigOverridesSchema(false), + streamingMedia: { + type: "object", + properties: { + channel: { + type: "string", + }, + playerName: { + type: "string", + }, + appVersion: { + type: "string", + }, + mainPingInterval: { + type: "integer", + }, + adPingInterval: { + type: "integer", + }, + }, + required: ["channel", "playerName"], + additionalProperties: false, + }, + advertising: { + type: "object", + properties: { + dspEnabled: enabledDisabledOrDataElement, + advertiserSettings: { + type: "array", + items: { + type: "object", + properties: { + advertiserId: { + type: "string", + }, + enabled: enabledDisabledOrDataElement, + }, + required: ["advertiserId", "enabled"], + additionalProperties: false, + }, + }, + id5PartnerId: { + type: "string", + }, + rampIdJSPath: { + type: "string", + }, + }, + additionalProperties: false, + }, + pushNotifications: { + type: "object", + properties: { + vapidPublicKey: { + type: "string", + minLength: 1, + }, + appId: { + type: "string", + minLength: 1, + }, + trackingDatasetId: { + type: "string", + minLength: 1, + }, + }, + required: [ + "vapidPublicKey", + "trackingDatasetId", + "appId", + ], + additionalProperties: false, + }, + conversation: { + stickyConversationSession: { + type: "boolean", + }, + streamTimeout: { + type: "integer", + minimum: 10000, + }, + }, + personalizationStorageEnabled: { + type: "boolean", + }, + autoCollectPropositionInteractions: { + type: "object", + properties: { + AJO: { + type: "string", + enum: ["always", "decoratedElementsOnly", "never"], + }, + TGT: { + type: "string", + enum: ["always", "decoratedElementsOnly", "never"], + }, + }, + additionalProperties: false, + }, + }, + required: ["edgeConfigId", "name"], + additionalProperties: false, + }, + }, + components: { + type: "object", + patternProperties: { + ".*": { type: "boolean" }, + }, + }, + }, + required: ["instances"], + additionalProperties: false, + }, + ], + }, + transforms: [ + { + type: "function", + propertyPath: "instances[].onBeforeEventSend", + parameters: ["content"], + }, + { + type: "function", + propertyPath: "instances[].onBeforeLinkClickSend", + parameters: ["content"], + }, + { + type: "function", + propertyPath: "instances[].clickCollection.filterClickDetails", + parameters: ["content"], + }, + { + type: "remove", + propertyPath: "instances[].edgeConfigInputMethod", + }, + { + type: "remove", + propertyPath: "instances[].sandbox", + }, + { + type: "remove", + propertyPath: "instances[].stagingSandbox", + }, + { + type: "remove", + propertyPath: "instances[].developmentSandbox", + }, + ...createEdgeConfigOverridesTransforms(false), + ], + }, + actions: [ + { + displayName: "Reset event merge ID", + name: "reset-event-merge-id", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + eventMergeId: { + type: "string", + pattern: "^%[^%]+%$", + }, + }, + required: ["eventMergeId"], + additionalProperties: false, + }, + libPath: "dist/lib/actions/resetEventMergeId/index.js", + viewPath: "actions/resetEventMergeId.html", + }, + { + displayName: "Send event", + name: "send-event", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + guidedEventsEnabled: { + type: "boolean", + }, + guidedEvent: { + type: "string", + }, + instanceName: { + type: "string", + minLength: 1, + }, + renderDecisions: { + type: "boolean", + minLength: 1, + }, + decisionScopes: { + anyOf: [ + { + type: "array", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + personalization: { + type: "object", + properties: { + decisionScopes: { + anyOf: [ + { + type: "array", + minItems: 1, + items: { + type: "string", + minLength: 1, + }, + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + surfaces: { + anyOf: [ + { + type: "array", + minItems: 1, + items: { + type: "string", + minLength: 1, + }, + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + sendDisplayEvent: { + type: "boolean", + }, + includeRenderedPropositions: { + type: "boolean", + }, + defaultPersonalizationEnabled: { + type: "boolean", + }, + decisionContext: { + anyOf: [ + { + type: "string", + pattern: "^%[^%]+%$", + }, + { + type: "object", + additionalProperties: { + type: "string", + }, + }, + ], + }, + }, + additionalProperties: false, + }, + xdm: { + type: "string", + pattern: "^%[^%]+%$", + }, + data: { + type: "string", + pattern: "^%[^%]+%$", + }, + type: { + type: "string", + minLength: 1, + }, + mergeId: { + type: "string", + minLength: 1, + }, + datasetId: { + type: "string", + minLength: 1, + }, + documentUnloading: { + type: "boolean", + }, + advertising: { + type: "object", + properties: { + handleAdvertisingData: { + anyOf: [ + { + type: "string", + enum: ["auto", "wait", "disabled"], + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + }, + additionalProperties: false, + }, + edgeConfigOverrides: actionEdgeConfigOverridesSchema, + }, + required: ["instanceName"], + additionalProperties: false, + }, + transforms: [ + { + type: "remove", + propertyPath: "guidedEventsEnabled", + }, + { + type: "remove", + propertyPath: "guidedEvent", + }, + ...actionEdgeConfigOverridesTransforms, + ], + libPath: "dist/lib/actions/sendEvent/index.js", + viewPath: "actions/sendEvent.html", + }, + { + displayName: "Set consent", + name: "set-consent", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + identityMap: { + type: "string", + pattern: "^%[^%]+%$", + }, + consent: { + anyOf: [ + { + type: "array", + minItems: 1, + items: { + anyOf: [ + { + type: "object", + properties: { + standard: { + type: "string", + enum: ["Adobe"], + }, + version: { + type: "string", + }, + value: { + type: "object", + properties: { + general: { + oneOf: [ + { + type: "string", + enum: ["in", "out"], + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + }, + }, + }, + additionalProperties: false, + }, + { + type: "object", + properties: { + standard: { + type: "string", + enum: ["Adobe"], + }, + version: { + type: "string", + }, + value: { + type: "string", + pattern: "^%[^%]+%$", + }, + }, + }, + { + type: "object", + properties: { + standard: { + type: "string", + enum: ["IAB TCF"], + }, + version: { + type: "string", + }, + value: { + type: "string", + }, + gdprApplies: { + anyOf: [ + { + type: "boolean", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + gdprContainsPersonalData: { + anyOf: [ + { + type: "boolean", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + }, + additionalProperties: false, + }, + ], + }, + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + edgeConfigOverrides: actionEdgeConfigOverridesSchema, + }, + required: ["instanceName", "consent"], + additionalProperties: false, + }, + transforms: [...actionEdgeConfigOverridesTransforms], + libPath: "dist/lib/actions/setConsent/index.js", + viewPath: "actions/setConsent.html", + }, + { + displayName: "Redirect with identity", + name: "redirect-with-identity", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + edgeConfigOverrides: actionEdgeConfigOverridesSchema, + }, + required: ["instanceName"], + additionalProperties: false, + }, + transforms: [...actionEdgeConfigOverridesTransforms], + libPath: "dist/lib/actions/redirectWithIdentity/index.js", + viewPath: "actions/redirectWithIdentity.html", + }, + { + displayName: "Apply response", + name: "apply-response", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + renderDecisions: { + type: "boolean", + minLength: 1, + }, + responseHeaders: { + type: "string", + pattern: "^%[^%]+%$", + }, + responseBody: { + type: "string", + pattern: "^%[^%]+%$", + }, + }, + required: ["instanceName", "responseBody"], + additionalProperties: false, + }, + libPath: "dist/lib/actions/applyResponse/index.js", + viewPath: "actions/applyResponse.html", + }, + { + displayName: "Apply propositions", + name: "apply-propositions", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + propositions: { + type: "string", + pattern: "^%[^%]+%$", + }, + metadata: { + anyOf: [ + { + type: "string", + pattern: "^%[^%]+%$", + }, + { + type: "object", + additionalProperties: { + type: "object", + properties: { + selector: { + type: "string", + minLength: 1, + }, + actionType: { + type: "string", + enum: [ + "setHtml", + "replaceHtml", + "appendHtml", + "collectInteractions", + ], + }, + }, + required: ["selector", "actionType"], + }, + }, + ], + }, + viewName: { + type: "string", + minLength: 1, + }, + }, + }, + libPath: "dist/lib/actions/applyPropositions/index.js", + viewPath: "actions/applyPropositions.html", + }, + { + displayName: "Update variable", + name: "update-variable", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + dataElementCacheId: { + type: "string", + minLength: 1, + }, + dataElementId: { + type: "string", + minLength: 1, + }, + schema: { + type: "object", + properties: { + id: { + type: "string", + minLength: 1, + }, + version: { + type: "string", + minLength: 1, + }, + }, + required: ["id", "version"], + additionalProperties: false, + }, + data: { + anyOf: [ + { + type: "object", + }, + { + type: "string", + minLength: 1, + }, + ], + }, + transforms: { + type: "object", + }, + customCode: { + type: "string", + minLength: 1, + }, + }, + required: ["dataElementId"], + }, + transforms: [ + { + type: "remove", + propertyPath: "schema", + }, + { + type: "function", + propertyPath: "customCode", + parameters: ["content", "event"], + }, + ], + libPath: "dist/lib/actions/updateVariable/index.js", + viewPath: "actions/updateVariable.html", + }, + { + displayName: "Send Media Event", + name: "send-media-event", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + handleMediaSessionAutomatically: { + type: "boolean", + }, + eventType: { + type: "string", + minLength: 1, + }, + playerId: { + type: "string", + minLength: 1, + }, + xdm: { + type: "object", + }, + edgeConfigOverrides: actionEdgeConfigOverridesSchema, + }, + required: ["instanceName", "playerId"], + }, + transforms: [...actionEdgeConfigOverridesTransforms], + libPath: "dist/lib/actions/sendMediaEvent/index.js", + viewPath: "actions/sendStreamingMediaEvent.html", + }, + { + displayName: "Get Media Analytics Tracker", + name: "get-media-tracker", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + objectName: { + type: "string", + minLength: 1, + }, + }, + required: ["instanceName"], + }, + libPath: "dist/lib/actions/getMediaAnalyticsTracker/index.js", + viewPath: "actions/createMediaTracker.html", + }, + { + displayName: "Evaluate rulesets", + name: "evaluate-rulesets", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + instanceName: { + type: "string", + minLength: 1, + }, + renderDecisions: { + type: "boolean", + }, + personalization: { + type: "object", + properties: { + decisionContext: { + anyOf: [ + { + type: "string", + pattern: "^%[^%]+%$", + }, + { + type: "object", + additionalProperties: { + type: "string", + }, + }, + ], + }, + }, + }, + }, + libPath: "dist/lib/actions/evaluateRulesets/index.js", + viewPath: "actions/evaluateRulesets.html", + }, + { + name: "send-push-subscription", + displayName: "Send push subscription", + libPath: "dist/lib/actions/sendPushSubscription/index.js", + viewPath: "actions/sendPushSubscription.html", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + instanceName: { + type: "string", + minLength: 1, + }, + }, + additionalProperties: false, + required: ["instanceName"], + }, + }, + ], + events: [ + { + name: "monitor-triggered", + displayName: "Monitoring hook triggered", + libPath: "dist/lib/events/monitor/index.js", + viewPath: "events/monitorTriggered.html", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + name: { + type: "string", + minLength: 1, + }, + }, + required: ["name"], + additionalProperties: false, + }, + }, + { + name: "decisions-received", + displayName: "Decisions received (DEPRECATED)", + libPath: "dist/lib/events/decisionsReceived/index.js", + schema: {}, + }, + { + name: "send-event-complete", + displayName: "Send event complete", + libPath: "dist/lib/events/sendEventComplete/index.js", + schema: {}, + }, + { + name: "subscribe-ruleset-items", + displayName: "Subscribe ruleset items", + libPath: "dist/lib/events/subscribeRulesetItems/index.js", + viewPath: "events/subscribeRulesetItems.html", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + instanceName: { + type: "string", + minLength: 1, + }, + surfaces: { + anyOf: [ + { + type: "array", + minItems: 1, + items: { + type: "string", + minLength: 1, + }, + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + schemas: { + anyOf: [ + { + type: "array", + minItems: 1, + items: { + type: "string", + minLength: 1, + }, + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + }, + }, + ], + dataElements: [ + { + displayName: "Media: Quality of Experience data", + name: "qoe-details-data", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + bitrate: { + oneOf: [ + { + type: "integer", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + droppedFrames: { + oneOf: [ + { + type: "integer", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + framesPerSecond: { + oneOf: [ + { + type: "integer", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + timeToStart: { + oneOf: [ + { + type: "integer", + }, + { + type: "string", + pattern: "^%[^%]+%$", + }, + ], + }, + }, + additionalProperties: false, + }, + libPath: "dist/lib/dataElements/qoeDetailsData/index.js", + viewPath: "dataElements/qoeDetailsDataElement.html", + }, + { + displayName: "Event merge ID", + name: "event-merge-id", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + cacheId: { + type: "string", + minLength: 1, + }, + }, + required: ["cacheId"], + additionalProperties: false, + }, + libPath: "dist/lib/dataElements/eventMergeId/index.js", + viewPath: "dataElements/eventMergeId.html", + }, + { + displayName: "Identity map", + name: "identity-map", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + additionalProperties: { + type: "array", + items: { + type: "object", + properties: { + id: { + type: "string", + }, + authenticatedState: { + type: "string", + enum: ["loggedOut", "authenticated", "ambiguous"], + }, + primary: { + type: "boolean", + }, + }, + additionalProperties: false, + }, + }, + }, + libPath: "dist/lib/dataElements/identityMap/index.js", + viewPath: "dataElements/identityMap.html", + }, + { + displayName: "XDM object", + name: "xdm-object", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + properties: { + sandbox: { + type: "object", + properties: { + name: { + type: "string", + minLength: 1, + }, + }, + required: ["name"], + additionalProperties: false, + }, + schema: { + type: "object", + properties: { + id: { + type: "string", + minLength: 1, + }, + version: { + type: "string", + minLength: 1, + }, + }, + required: ["id", "version"], + additionalProperties: false, + }, + data: { + type: "object", + }, + }, + required: ["schema", "data"], + additionalProperties: false, + }, + transforms: [ + { + type: "remove", + propertyPath: "schema", + }, + ], + libPath: "dist/lib/dataElements/xdmObject/index.js", + viewPath: "dataElements/xdmObject.html", + }, + { + displayName: "Variable", + name: "variable", + schema: { + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + anyOf: [ + { + properties: { + cacheId: { + type: "string", + minLength: 1, + }, + sandbox: { + type: "object", + properties: { + name: { + type: "string", + minLength: 1, + }, + }, + required: ["name"], + additionalProperties: false, + }, + schema: { + type: "object", + properties: { + id: { + type: "string", + minLength: 1, + }, + version: { + type: "string", + minLength: 1, + }, + }, + required: ["id", "version"], + additionalProperties: false, + }, + }, + required: ["sandbox", "schema"], + additionalProperties: false, + }, + { + properties: { + cacheId: { + type: "string", + minLength: 1, + }, + solutions: { + type: "array", + minItems: 1, + items: { + enum: [ + "analytics", + "target", + "audiencemanager", + "audienceManager", + ], + }, + required: ["name"], + additionalProperties: false, + }, + }, + required: ["solutions"], + additionalProperties: false, + }, + ], + }, + transforms: [ + { + type: "add", + propertyPath: "dataElementId", + reservedKey: "originId", + }, + { + type: "remove", + propertyPath: "schema", + }, + { + type: "remove", + propertyPath: "sandbox", + }, + ], + libPath: "dist/lib/dataElements/variable/index.js", + viewPath: "dataElements/variable.html", + }, + ], + preprocessingVariables: createPreprocessingVariables(), + main: "dist/lib/instanceManager/index.js", + }; + + return extensionManifest; +}; + +export default createExtensionManifest; diff --git a/packages/reactor-extension/scripts/helpers/options.mjs b/packages/reactor-extension/scripts/helpers/options.mjs new file mode 100644 index 000000000..bd116dce7 --- /dev/null +++ b/packages/reactor-extension/scripts/helpers/options.mjs @@ -0,0 +1,12 @@ +import minimist from "minimist"; +import { fileURLToPath } from "url"; +import path from "path"; + +export const __filename = fileURLToPath(import.meta.url); +export const __dirname = path.dirname(__filename); + +export const inputDir = path.join(__dirname, "../../src"); +export const tempDir = path.join(__dirname, "../../temp"); +export const outputDir = path.join(__dirname, "../../dist"); + +export const { watch } = minimist(process.argv.slice(2)); diff --git a/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/index.js b/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/index.js new file mode 100644 index 000000000..6580a38b2 --- /dev/null +++ b/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/index.js @@ -0,0 +1,27 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const plugin = require("@parcel/plugin"); +const path = require("path"); + +module.exports = new plugin.Transformer({ + async transform({ asset }) { + const source = await asset.getCode(); + + const { name: extensionName } = require( + path.resolve(process.cwd(), "extension.json"), + ); + + asset.setCode(source.replace(/__EXTENSION_NAME__/g, extensionName)); + + return [asset]; + }, +}); diff --git a/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/package.json b/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/package.json new file mode 100644 index 000000000..1f3d58545 --- /dev/null +++ b/packages/reactor-extension/scripts/helpers/parcel-transformer-extension-name/package.json @@ -0,0 +1,19 @@ +{ + "name": "parcel-transformer-extension-name", + "version": "1.0.0", + "description": "A transformer plugin for Parcel that replaces __EXTENSION_NAME__ with the name from your extension.json", + "main": "index.js", + "dependencies": { + "@parcel/plugin": "^2.3.2" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.3.2" + }, + "author": { + "name": "Adobe", + "url": "http://adobe.com", + "email": "reactor@adobe.com" + }, + "license": "Apache-2.0" +} diff --git a/packages/reactor-extension/scripts/helpers/run.mjs b/packages/reactor-extension/scripts/helpers/run.mjs new file mode 100644 index 000000000..1e8835915 --- /dev/null +++ b/packages/reactor-extension/scripts/helpers/run.mjs @@ -0,0 +1,20 @@ +import { spawn } from "child_process"; + +const toPromise = (func) => { + return new Promise((resolve, reject) => { + const callback = (error) => { + if (error) { + reject(error); + } else { + resolve(); + } + }; + func(callback); + }); +}; + +export default (command, options) => { + return toPromise((callback) => + spawn(command, options, { stdio: "inherit" }).on("exit", callback), + ); +}; diff --git a/packages/reactor-extension/scripts/token.mjs b/packages/reactor-extension/scripts/token.mjs new file mode 100644 index 000000000..3d05b6ed0 --- /dev/null +++ b/packages/reactor-extension/scripts/token.mjs @@ -0,0 +1,23 @@ +#!/usr/bin/env node +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import getAdobeIOAccessToken from "../test/functional/helpers/getAdobeIOAccessToken.mjs"; +import adobeIOClientCredentials from "../test/functional/helpers/adobeIOClientCredentials.mjs"; + +if (adobeIOClientCredentials) { + // eslint-disable-next-line no-console + console.log("Org ID:", adobeIOClientCredentials.orgId); + const accessToken = await getAdobeIOAccessToken(adobeIOClientCredentials); + // eslint-disable-next-line no-console + console.log("IMS Access Token:", accessToken); +} diff --git a/packages/reactor-extension/scripts/updateAlloy.js b/packages/reactor-extension/scripts/updateAlloy.js new file mode 100755 index 000000000..09affd0c6 --- /dev/null +++ b/packages/reactor-extension/scripts/updateAlloy.js @@ -0,0 +1,39 @@ +#!/usr/bin/env node + +// Updates alloy version in package.json. For example: +// 2.5.0-alpha.0 => 2.5.0-beta.4 +// 2.5.0-beta.4 => 2.5.0 + +// This will not update to the next major/minor/patch version, +// but only update the prerelease version or remove the prerelease +// qualifier. So it will NOT do this: +// 2.5.0-beta.4 => 2.6.0-beta.0 +// 2.5.0 => 2.6.0-beta.0 + +// We do this instead of pnpm update so that we are explicit about +// the exact version number required in package.json. + +const { execSync } = require("child_process"); + +const { + dependencies: { + "@adobe/alloy": { version: currentVersion }, + }, +} = JSON.parse(execSync("pnpm ls @adobe/alloy --json"))[0]; + +// fetch any releases greater than or equal to the current version, with the current major/minor/patch number. +const npmView = JSON.parse( + execSync(`pnpm view @adobe/alloy@~${currentVersion} version --json`), +); +// npmView is either a single string or an array of strings +// eslint-disable-next-line no-console +console.log(npmView); +const newestVersion = Array.isArray(npmView) + ? npmView[npmView.length - 1] + : npmView; + +if (currentVersion !== newestVersion) { + // eslint-disable-next-line no-console + console.log(`Updating @adobe/alloy dependency to ${newestVersion}.`); + execSync(`pnpm add --save-exact @adobe/alloy@${newestVersion}`); +} diff --git a/packages/reactor-extension/scripts/version.sh b/packages/reactor-extension/scripts/version.sh new file mode 100755 index 000000000..16059edb9 --- /dev/null +++ b/packages/reactor-extension/scripts/version.sh @@ -0,0 +1,13 @@ +#! /usr/bin/env bash + +set -euo pipefail + +# This script is run as part of the npm version command. +# It runs after package.json is updated with the new version, +# but before the commit and tag. + +# update the version of alloy if the current version of alloy is a pre-release. +./scripts/updateAlloy.js + +# update package.json and pnpm-lock.yaml in case alloy was updated. +git add package.json pnpm-lock.yaml diff --git a/packages/reactor-extension/sonar-project.properties b/packages/reactor-extension/sonar-project.properties new file mode 100644 index 000000000..ffe42b585 --- /dev/null +++ b/packages/reactor-extension/sonar-project.properties @@ -0,0 +1,6 @@ +sonar.projectKey=reactor-extension-alloy + +sonar.sources=src +sonar.tests=test + +sonar.javascript.lcov.reportPaths=coverage/lcov.info diff --git a/packages/reactor-extension/src/lib/actions/applyPropositions/createApplyPropositions.js b/packages/reactor-extension/src/lib/actions/applyPropositions/createApplyPropositions.js new file mode 100644 index 000000000..4440bf976 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/applyPropositions/createApplyPropositions.js @@ -0,0 +1,26 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager }) => + (settings) => { + const { instanceName, ...options } = settings; + + const instance = instanceManager.getInstance(instanceName); + if (!instance) { + throw new Error( + `Failed to apply propositions for instance "${instanceName}". No instance was found with this name.`, + ); + } + + return instance("applyPropositions", options); + }; diff --git a/packages/reactor-extension/src/lib/actions/applyPropositions/index.js b/packages/reactor-extension/src/lib/actions/applyPropositions/index.js new file mode 100644 index 000000000..286da85f9 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/applyPropositions/index.js @@ -0,0 +1,18 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createApplyPropositions = require("./createApplyPropositions"); +const instanceManager = require("../../instanceManager/index"); + +module.exports = createApplyPropositions({ + instanceManager, +}); diff --git a/packages/reactor-extension/src/lib/actions/applyResponse/createApplyResponse.js b/packages/reactor-extension/src/lib/actions/applyResponse/createApplyResponse.js new file mode 100644 index 000000000..a6cce2c8b --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/applyResponse/createApplyResponse.js @@ -0,0 +1,28 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager, sendEventCallbackStorage }) => + (settings) => { + const { instanceName, ...otherSettings } = settings; + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to apply response for instance "${instanceName}". No matching instance was configured with this name.`, + ); + } + + return instance("applyResponse", otherSettings).then((result) => { + sendEventCallbackStorage.triggerEvent(result); + }); + }; diff --git a/packages/reactor-extension/src/lib/actions/applyResponse/index.js b/packages/reactor-extension/src/lib/actions/applyResponse/index.js new file mode 100644 index 000000000..29a69f730 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/applyResponse/index.js @@ -0,0 +1,20 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createApplyResponse = require("./createApplyResponse"); +const instanceManager = require("../../instanceManager/index"); +const { sendEventCallbackStorage } = require("../../index"); + +module.exports = createApplyResponse({ + instanceManager, + sendEventCallbackStorage, +}); diff --git a/packages/reactor-extension/src/lib/actions/evaluateRulesets/createEvaluateRulesets.js b/packages/reactor-extension/src/lib/actions/evaluateRulesets/createEvaluateRulesets.js new file mode 100644 index 000000000..ff4a07d2d --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/evaluateRulesets/createEvaluateRulesets.js @@ -0,0 +1,26 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager }) => + (settings) => { + const { instanceName, ...options } = settings; + + const instance = instanceManager.getInstance(instanceName); + if (!instance) { + throw new Error( + `Failed to evaluate rulesets for instance "${instanceName}". No instance was found with this name.`, + ); + } + + return instance("evaluateRulesets", options); + }; diff --git a/packages/reactor-extension/src/lib/actions/evaluateRulesets/index.js b/packages/reactor-extension/src/lib/actions/evaluateRulesets/index.js new file mode 100644 index 000000000..661e4a1ce --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/evaluateRulesets/index.js @@ -0,0 +1,18 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createEvaluateRulesets = require("./createEvaluateRulesets"); +const instanceManager = require("../../instanceManager/index"); + +module.exports = createEvaluateRulesets({ + instanceManager, +}); diff --git a/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/getMediaAnalyticsTracker.js b/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/getMediaAnalyticsTracker.js new file mode 100644 index 000000000..a74c5750f --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/getMediaAnalyticsTracker.js @@ -0,0 +1,28 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager, windowObject }) => + (settings) => { + const { instanceName, objectName = "Media" } = settings; + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to get a Media Analytics Tracker for "${instanceName}". No matching instance was configured with this name.`, + ); + } + + return instance("getMediaAnalyticsTracker", {}).then((result) => { + windowObject[objectName] = result; + }); + }; diff --git a/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/index.js b/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/index.js new file mode 100644 index 000000000..96b566b79 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/getMediaAnalyticsTracker/index.js @@ -0,0 +1,21 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const getMediaAnalyticsTracker = require("./getMediaAnalyticsTracker"); +const instanceManager = require("../../instanceManager/index"); + +const windowObject = window; + +module.exports = getMediaAnalyticsTracker({ + instanceManager, + windowObject, +}); diff --git a/packages/reactor-extension/src/lib/actions/redirectWithIdentity/createRedirectWithIdentity.js b/packages/reactor-extension/src/lib/actions/redirectWithIdentity/createRedirectWithIdentity.js new file mode 100644 index 000000000..dfcb2c911 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/redirectWithIdentity/createRedirectWithIdentity.js @@ -0,0 +1,53 @@ +/* +Copyright 2022 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +module.exports = + ({ instanceManager, window, logger, getConfigOverrides }) => + (settings, event) => { + const { instanceName } = settings; + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + logger.warn( + `Instance "${instanceName}" not found when running "Redirect with identity."`, + ); + return Promise.resolve(); + } + + if (!event || !event.element) { + logger.warn( + `Clicked element not found when running "Redirect with identity." This action is meant to be used with a Core click event.`, + ); + return Promise.resolve(); + } + + if (!event.element.href) { + logger.warn( + `Invalid event target when running "Redirect with identity." This action is meant to be used with a Core click event using an "a[href]" selector.`, + ); + return Promise.resolve(); + } + + if (event.nativeEvent.preventDefault) { + event.nativeEvent.preventDefault(); + } + + const url = event.element.href; + const edgeConfigOverrides = getConfigOverrides(settings); + const target = event.element.target || "_self"; + + return instance("appendIdentityToUrl", { + url, + edgeConfigOverrides, + }).then(({ url: newLocation }) => { + window.open(newLocation, target); + }); + }; diff --git a/packages/reactor-extension/src/lib/actions/redirectWithIdentity/index.js b/packages/reactor-extension/src/lib/actions/redirectWithIdentity/index.js new file mode 100644 index 000000000..75f3ff805 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/redirectWithIdentity/index.js @@ -0,0 +1,22 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createRedirectWithIdentity = require("./createRedirectWithIdentity"); +const instanceManager = require("../../instanceManager/index"); +const createGetConfigOverrides = require("../../utils/createGetConfigOverrides"); + +module.exports = createRedirectWithIdentity({ + instanceManager, + window, + logger: turbine.logger, + getConfigOverrides: createGetConfigOverrides(turbine.environment?.stage), +}); diff --git a/packages/reactor-extension/src/lib/actions/resetEventMergeId/createResetEventMergeId.js b/packages/reactor-extension/src/lib/actions/resetEventMergeId/createResetEventMergeId.js new file mode 100644 index 000000000..355897696 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/resetEventMergeId/createResetEventMergeId.js @@ -0,0 +1,19 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = (eventMergeIdCache) => { + return (settings) => { + // A new event merge ID will be automatically created the next + // time the data element is accessed. + eventMergeIdCache.clearByEventMergeId(settings.eventMergeId); + }; +}; diff --git a/packages/reactor-extension/src/lib/actions/resetEventMergeId/index.js b/packages/reactor-extension/src/lib/actions/resetEventMergeId/index.js new file mode 100644 index 000000000..2ec6a2c79 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/resetEventMergeId/index.js @@ -0,0 +1,16 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { eventMergeIdCache } = require("../../index"); +const createResetEventMergeId = require("./createResetEventMergeId"); + +module.exports = createResetEventMergeId(eventMergeIdCache); diff --git a/packages/reactor-extension/src/lib/actions/sendEvent/createSendEvent.js b/packages/reactor-extension/src/lib/actions/sendEvent/createSendEvent.js new file mode 100644 index 000000000..38f74ef13 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendEvent/createSendEvent.js @@ -0,0 +1,44 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const clone = require("../../utils/clone"); + +module.exports = + ({ instanceManager, sendEventCallbackStorage, getConfigOverrides }) => + (settings) => { + const { instanceName, ...sendEventSettings } = settings; + sendEventSettings.edgeConfigOverrides = + getConfigOverrides(sendEventSettings); + + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to send event for instance "${instanceName}". No matching instance was configured with this name.`, + ); + } + + // If the customer modifies the xdm or data object (or anything nested in the object) after this action runs, + // we want to make sure those modifications are not reflected in the data sent to the server. By cloning the + // objects here, we ensure we use a snapshot that will remain unchanged during the time period between when + // sendEvent is called and the network request is made. + if (sendEventSettings.xdm) { + sendEventSettings.xdm = clone(sendEventSettings.xdm); + } + if (sendEventSettings.data) { + sendEventSettings.data = clone(sendEventSettings.data); + } + + return instance("sendEvent", sendEventSettings).then((result) => { + sendEventCallbackStorage.triggerEvent(result); + }); + }; diff --git a/packages/reactor-extension/src/lib/actions/sendEvent/index.js b/packages/reactor-extension/src/lib/actions/sendEvent/index.js new file mode 100644 index 000000000..1214652a1 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendEvent/index.js @@ -0,0 +1,22 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createSendEvent = require("./createSendEvent"); +const instanceManager = require("../../instanceManager/index"); +const { sendEventCallbackStorage } = require("../../index"); +const createGetConfigOverrides = require("../../utils/createGetConfigOverrides"); + +module.exports = createSendEvent({ + instanceManager, + sendEventCallbackStorage, + getConfigOverrides: createGetConfigOverrides(turbine.environment?.stage), +}); diff --git a/packages/reactor-extension/src/lib/actions/sendMediaEvent/createMediaSession.js b/packages/reactor-extension/src/lib/actions/sendMediaEvent/createMediaSession.js new file mode 100644 index 000000000..c44d34b83 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendMediaEvent/createMediaSession.js @@ -0,0 +1,93 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ + instanceManager, + mediaCollectionSessionStorage, + satelliteApi, + getConfigOverrides, + }) => + (settings, event) => { + const { + instanceName, + handleMediaSessionAutomatically, + playerId, + xdm, + ...otherSettings + } = settings; + const instance = instanceManager.getInstance(instanceName); + + event.mediaPlayer = { + id: playerId, + }; + + const options = { xdm }; + options.edgeConfigOverrides = getConfigOverrides(otherSettings); + + const sessionDetails = mediaCollectionSessionStorage.get({ playerId }); + + if (sessionDetails) { + return Promise.resolve(); + } + const { playhead, qoeDataDetails } = xdm.mediaCollection; + const playheadVar = satelliteApi.getVar(playhead, event); + xdm.mediaCollection.playhead = playheadVar; + + if (qoeDataDetails) { + const qoeDataDetailsVar = satelliteApi.getVar(qoeDataDetails, event); + xdm.mediaCollection.qoeDataDetails = qoeDataDetailsVar; + } + + if (handleMediaSessionAutomatically) { + options.playerId = playerId; + + options.getPlayerDetails = ({ playerId: id }) => { + event.mediaPlayer = { + id, + }; + const playerDetails = { + playhead: satelliteApi.getVar(playhead, event), + }; + + if (qoeDataDetails) { + playerDetails.qoeDataDetails = satelliteApi.getVar( + qoeDataDetails, + event, + ); + } + + return playerDetails; + }; + } + + const sessionPromise = instance("createMediaSession", options) + .then((result) => { + const { sessionId } = result; + return sessionId; + }) + .catch((error) => { + console.error("Error creating media session", error); + throw error; + }); + + mediaCollectionSessionStorage.add({ + playerId, + sessionDetails: { + handleMediaSessionAutomatically, + sessionPromise, + playhead, + qoeDataDetails, + }, + }); + return sessionPromise; + }; diff --git a/packages/reactor-extension/src/lib/actions/sendMediaEvent/createSendMediaEvent.js b/packages/reactor-extension/src/lib/actions/sendMediaEvent/createSendMediaEvent.js new file mode 100644 index 000000000..d395a3ec0 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendMediaEvent/createSendMediaEvent.js @@ -0,0 +1,84 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = ({ + instanceManager, + trackMediaSession, + mediaCollectionSessionStorage, + satelliteApi, + logger, +}) => { + return (settings, event) => { + const { instanceName, eventType, playerId, xdm } = settings; + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to send media event for instance "${instanceName}". No matching instance was configured with this name.`, + ); + } + + if (!event || !event.element) { + logger.warn( + `Media element not found when running "Send Media Event". This action is meant to be used with a Media event.`, + ); + return Promise.resolve(); + } + + if (eventType === "media.sessionStart") { + return trackMediaSession(settings, event); + } + + const sessionDetails = mediaCollectionSessionStorage.get({ playerId }); + if (!sessionDetails) { + // eslint-disable-next-line no-console + console.warn( + `No media session found for player ID ${playerId}. Skipping media event ${eventType}. Make sure the session has started.`, + ); + return Promise.resolve(); + } + return sessionDetails.sessionPromise.then((sessionID) => { + if ( + eventType === "media.sessionEnd" || + eventType === "media.sessionComplete" + ) { + mediaCollectionSessionStorage.remove({ playerId }); + } + + xdm.eventType = eventType; + + const options = { xdm }; + + event.mediaPlayer = { id: playerId }; + + if (sessionDetails.handleMediaSessionAutomatically) { + options.playerId = playerId; + } else { + xdm.mediaCollection.playhead = satelliteApi.getVar( + sessionDetails.playhead, + event, + ); + + if (sessionDetails.qoeDataDetails) { + xdm.mediaCollection.qoeDataDetails = satelliteApi.getVar( + sessionDetails.qoeDataDetails, + event, + ); + } + + xdm.mediaCollection.sessionID = sessionID; + } + + return instance("sendMediaEvent", options); + }); + }; +}; diff --git a/packages/reactor-extension/src/lib/actions/sendMediaEvent/index.js b/packages/reactor-extension/src/lib/actions/sendMediaEvent/index.js new file mode 100644 index 000000000..0300fc0a8 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendMediaEvent/index.js @@ -0,0 +1,34 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createMediaEvent = require("./createSendMediaEvent"); +const createMediaSession = require("./createMediaSession"); +const instanceManager = require("../../instanceManager/index"); +const { mediaCollectionSessionStorage } = require("../../index"); +const createGetConfigOverrides = require("../../utils/createGetConfigOverrides"); + +// eslint-disable-next-line no-underscore-dangle +const satelliteApi = window._satellite; + +const trackMediaSession = createMediaSession({ + instanceManager, + mediaCollectionSessionStorage, + satelliteApi, + getConfigOverrides: createGetConfigOverrides(turbine.environment?.stage), +}); +module.exports = createMediaEvent({ + instanceManager, + trackMediaSession, + logger: turbine.logger, + mediaCollectionSessionStorage, + satelliteApi, +}); diff --git a/packages/reactor-extension/src/lib/actions/sendPushSubscription/createSendPushSubscription.js b/packages/reactor-extension/src/lib/actions/sendPushSubscription/createSendPushSubscription.js new file mode 100644 index 000000000..c5afdadab --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendPushSubscription/createSendPushSubscription.js @@ -0,0 +1,27 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager }) => + (settings) => { + const { instanceName } = settings; + + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to send send push subscription for instance "${instanceName}". No instance was found with this name.`, + ); + } + + return instance("sendPushSubscription"); + }; diff --git a/packages/reactor-extension/src/lib/actions/sendPushSubscription/index.js b/packages/reactor-extension/src/lib/actions/sendPushSubscription/index.js new file mode 100644 index 000000000..7d65cb913 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/sendPushSubscription/index.js @@ -0,0 +1,16 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createSendPushSubscription = require("./createSendPushSubscription"); +const instanceManager = require("../../instanceManager/index"); + +module.exports = createSendPushSubscription({ instanceManager }); diff --git a/packages/reactor-extension/src/lib/actions/setConsent/createSetConsent.js b/packages/reactor-extension/src/lib/actions/setConsent/createSetConsent.js new file mode 100644 index 000000000..4d88dbfd2 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/setConsent/createSetConsent.js @@ -0,0 +1,37 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +module.exports = + ({ instanceManager, getConfigOverrides }) => + (settings) => { + const { instanceName, identityMap, consent } = settings; + + const edgeConfigOverrides = getConfigOverrides(settings); + + const instance = instanceManager.getInstance(instanceName); + + if (!instance) { + throw new Error( + `Failed to set consent for instance "${instanceName}". No matching instance was configured with this name.`, + ); + } + if (identityMap) { + return instance("setConsent", { + identityMap, + consent, + edgeConfigOverrides, + }); + } + return instance("setConsent", { + consent, + edgeConfigOverrides, + }); + }; diff --git a/packages/reactor-extension/src/lib/actions/setConsent/index.js b/packages/reactor-extension/src/lib/actions/setConsent/index.js new file mode 100644 index 000000000..f60a6ec2e --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/setConsent/index.js @@ -0,0 +1,20 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createSetConsent = require("./createSetConsent"); +const instanceManager = require("../../instanceManager/index"); +const createGetConfigOverrides = require("../../utils/createGetConfigOverrides"); + +module.exports = createSetConsent({ + instanceManager, + getConfigOverrides: createGetConfigOverrides(turbine.environment?.stage), +}); diff --git a/packages/reactor-extension/src/lib/actions/updateVariable/createUpdateVariable.js b/packages/reactor-extension/src/lib/actions/updateVariable/createUpdateVariable.js new file mode 100644 index 000000000..a95fc2f3f --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/updateVariable/createUpdateVariable.js @@ -0,0 +1,38 @@ +/* +Copyright 2022 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { deletePath } = require("../../utils/pathUtils"); + +module.exports = + ({ variableStore, deepAssign }) => + ({ data, dataElementId, transforms, customCode }, event) => { + const existingValue = Object.keys(transforms || {}).reduce((memo, path) => { + const { clear } = transforms[path]; + return clear ? deletePath(memo, path) : memo; + }, variableStore[dataElementId] || {}); + + variableStore[dataElementId] = deepAssign({}, existingValue, data); + + if (customCode) { + customCode(variableStore[dataElementId], event); + } + + // This is a temporary fix to support the 'audienceManager' property that should be lowercased. + // eslint-disable-next-line no-underscore-dangle + const adobe = variableStore[dataElementId]?.__adobe || {}; + if (adobe.audienceManager) { + adobe.audiencemanager = adobe.audienceManager; + delete adobe.audienceManager; + } + + return Promise.resolve(); + }; diff --git a/packages/reactor-extension/src/lib/actions/updateVariable/index.js b/packages/reactor-extension/src/lib/actions/updateVariable/index.js new file mode 100644 index 000000000..acd4770b5 --- /dev/null +++ b/packages/reactor-extension/src/lib/actions/updateVariable/index.js @@ -0,0 +1,17 @@ +/* +Copyright 2022 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { deepAssign } = require("../../alloy"); +const { variableStore } = require("../../index"); +const createUpdateVariable = require("./createUpdateVariable"); + +module.exports = createUpdateVariable({ variableStore, deepAssign }); diff --git a/packages/reactor-extension/src/lib/alloy.js b/packages/reactor-extension/src/lib/alloy.js new file mode 100644 index 000000000..715d74a45 --- /dev/null +++ b/packages/reactor-extension/src/lib/alloy.js @@ -0,0 +1,22 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import { + components as optionalComponents, + createCustomInstance, +} from "@adobe/alloy"; + +const components = optionalComponents; + +export { createCustomInstance, components }; +export { default as createEventMergeId } from "@adobe/alloy/libEs6/components/EventMerge/createEventMergeId"; +export { default as deepAssign } from "@adobe/alloy/libEs6/utils/deepAssign"; diff --git a/packages/reactor-extension/src/lib/alloyPreinstalled.js b/packages/reactor-extension/src/lib/alloyPreinstalled.js new file mode 100644 index 000000000..2abe036e4 --- /dev/null +++ b/packages/reactor-extension/src/lib/alloyPreinstalled.js @@ -0,0 +1,36 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createCustomInstance = ({ name }) => { + if (!window[name] || typeof window[name] !== "function") { + throw new Error( + `Alloy instance "${name}" was not found on the window object. ` + + `Ensure the Alloy base code snippet or the Alloy library is loaded before the Tags library. ` + + `The base code snippet creates a command queue that buffers calls until Alloy fully loads.`, + ); + } + + const instance = window[name]; + return (...args) => instance(...args); +}; + +const components = {}; + +const createEventMergeId = () => { + throw new Error( + "createEventMergeId is not available when using a self-hosted Alloy instance. " + + "Use the Alloy library's built-in createEventMergeId function instead.", + ); +}; + +export { createCustomInstance, components, createEventMergeId }; +export { default as deepAssign } from "@adobe/alloy/libEs6/utils/deepAssign"; diff --git a/packages/reactor-extension/src/lib/constants/libraryType.js b/packages/reactor-extension/src/lib/constants/libraryType.js new file mode 100644 index 000000000..fbfecb968 --- /dev/null +++ b/packages/reactor-extension/src/lib/constants/libraryType.js @@ -0,0 +1,16 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = { + MANAGED: "managed", + PREINSTALLED: "preinstalled", +}; diff --git a/packages/reactor-extension/src/lib/createEventMergeIdCache.js b/packages/reactor-extension/src/lib/createEventMergeIdCache.js new file mode 100644 index 000000000..ee79979ab --- /dev/null +++ b/packages/reactor-extension/src/lib/createEventMergeIdCache.js @@ -0,0 +1,34 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = () => { + const eventMergeIdByCacheId = {}; + + /** + * Caches event merge IDs by a cache ID. + */ + return { + set(cacheId, eventMergeId) { + eventMergeIdByCacheId[cacheId] = eventMergeId; + }, + getByCacheId(cacheId) { + return eventMergeIdByCacheId[cacheId]; + }, + clearByEventMergeId(eventMergeId) { + Object.keys(eventMergeIdByCacheId).forEach((cacheId) => { + if (eventMergeIdByCacheId[cacheId] === eventMergeId) { + delete eventMergeIdByCacheId[cacheId]; + } + }); + }, + }; +}; diff --git a/packages/reactor-extension/src/lib/createMediaCollectionSessionStorage.js b/packages/reactor-extension/src/lib/createMediaCollectionSessionStorage.js new file mode 100644 index 000000000..f3a60e278 --- /dev/null +++ b/packages/reactor-extension/src/lib/createMediaCollectionSessionStorage.js @@ -0,0 +1,29 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = () => { + const mediaCollectionSessionStorage = {}; + return { + add({ playerId, sessionDetails }) { + if (mediaCollectionSessionStorage[playerId]) { + throw new Error(`Player Id ${playerId} already exists`); + } + mediaCollectionSessionStorage[playerId] = sessionDetails; + }, + remove({ playerId }) { + mediaCollectionSessionStorage[playerId] = undefined; + }, + get({ playerId }) { + return mediaCollectionSessionStorage[playerId]; + }, + }; +}; diff --git a/packages/reactor-extension/src/lib/createSendEventCallbackStorage.js b/packages/reactor-extension/src/lib/createSendEventCallbackStorage.js new file mode 100644 index 000000000..587b0c0b3 --- /dev/null +++ b/packages/reactor-extension/src/lib/createSendEventCallbackStorage.js @@ -0,0 +1,26 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = () => { + const sendEventCompleteTriggers = []; + + return { + add(trigger) { + sendEventCompleteTriggers.push(trigger); + }, + triggerEvent(result) { + sendEventCompleteTriggers.forEach((trigger) => { + trigger(result); + }); + }, + }; +}; diff --git a/packages/reactor-extension/src/lib/createVariableStore.js b/packages/reactor-extension/src/lib/createVariableStore.js new file mode 100644 index 000000000..c784a7566 --- /dev/null +++ b/packages/reactor-extension/src/lib/createVariableStore.js @@ -0,0 +1,14 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +// This is just a store of variables indexed by their cacheId + +module.exports = () => ({}); diff --git a/packages/reactor-extension/src/lib/dataElements/eventMergeId/createEventMergeId.js b/packages/reactor-extension/src/lib/dataElements/eventMergeId/createEventMergeId.js new file mode 100644 index 000000000..58d0e42ef --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/eventMergeId/createEventMergeId.js @@ -0,0 +1,27 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +module.exports = + ({ instanceManager, eventMergeIdCache }) => + (settings) => { + // Optimally we would use the data element name as the cache ID, but + // we don't receive the data element name from Turbine, so we have to use + // a separate cache ID that was generated when the data element was created. + const { cacheId } = settings; + let eventMergeId = eventMergeIdCache.getByCacheId(cacheId); + + if (!eventMergeId) { + ({ eventMergeId } = instanceManager.createEventMergeId()); + eventMergeIdCache.set(cacheId, eventMergeId); + } + + return eventMergeId; + }; diff --git a/packages/reactor-extension/src/lib/dataElements/eventMergeId/index.js b/packages/reactor-extension/src/lib/dataElements/eventMergeId/index.js new file mode 100644 index 000000000..e4623752b --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/eventMergeId/index.js @@ -0,0 +1,20 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createEventMergeId = require("./createEventMergeId"); +const instanceManager = require("../../instanceManager/index"); +const { eventMergeIdCache } = require("../../index"); + +module.exports = createEventMergeId({ + instanceManager, + eventMergeIdCache, +}); diff --git a/packages/reactor-extension/src/lib/dataElements/identityMap/createIdentityMap.js b/packages/reactor-extension/src/lib/dataElements/identityMap/createIdentityMap.js new file mode 100644 index 000000000..c130fa804 --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/identityMap/createIdentityMap.js @@ -0,0 +1,43 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +/** + * Provided an identity map, returns a new identity map that excludes any + * identifiers whose ID values are not populated strings. Namespaces + * without identifiers are also excluded. + */ +module.exports = ({ logger }) => { + return (settings) => { + // settings _are_ the identity map + return Object.keys(settings).reduce((newIdentityMap, namespace) => { + const filteredIdentifiers = settings[namespace].filter(({ id }, i) => { + const isValidId = typeof id === "string" && id.length; + if (!isValidId) { + logger.log( + `The identifier at ${namespace}[${i}] was removed from the identity map because its ID is not a populated string. Its ID value is:`, + id, + ); + } + return isValidId; + }); + + if (filteredIdentifiers.length) { + newIdentityMap[namespace] = filteredIdentifiers; + } else { + logger.log( + `The ${namespace} namespace was removed from the identity map because it contains no identifiers.`, + ); + } + return newIdentityMap; + }, {}); + }; +}; diff --git a/packages/reactor-extension/src/lib/dataElements/identityMap/index.js b/packages/reactor-extension/src/lib/dataElements/identityMap/index.js new file mode 100644 index 000000000..3597b5b1e --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/identityMap/index.js @@ -0,0 +1,19 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createIdentityMap = require("./createIdentityMap"); + +const identityMap = createIdentityMap({ logger: turbine.logger }); + +module.exports = (settings) => { + return identityMap(settings); +}; diff --git a/packages/reactor-extension/src/lib/dataElements/qoeDetailsData/index.js b/packages/reactor-extension/src/lib/dataElements/qoeDetailsData/index.js new file mode 100644 index 000000000..c1ff160e1 --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/qoeDetailsData/index.js @@ -0,0 +1,14 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = (settings) => { + return settings; +}; diff --git a/packages/reactor-extension/src/lib/dataElements/variable/index.js b/packages/reactor-extension/src/lib/dataElements/variable/index.js new file mode 100644 index 000000000..e24b45c08 --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/variable/index.js @@ -0,0 +1,16 @@ +/* +Copyright 2022 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { variableStore } = require("../../index"); + +module.exports = (settings) => { + return variableStore[settings.dataElementId] || {}; +}; diff --git a/packages/reactor-extension/src/lib/dataElements/xdmObject/index.js b/packages/reactor-extension/src/lib/dataElements/xdmObject/index.js new file mode 100644 index 000000000..2dee1a905 --- /dev/null +++ b/packages/reactor-extension/src/lib/dataElements/xdmObject/index.js @@ -0,0 +1,13 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = (settings) => settings.data; diff --git a/packages/reactor-extension/src/lib/events/decisionsReceived/createDecisionsReceived.js b/packages/reactor-extension/src/lib/events/decisionsReceived/createDecisionsReceived.js new file mode 100644 index 000000000..19a95b028 --- /dev/null +++ b/packages/reactor-extension/src/lib/events/decisionsReceived/createDecisionsReceived.js @@ -0,0 +1,21 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ sendEventCallbackStorage }) => + (settings, trigger) => { + sendEventCallbackStorage.add((result) => { + if (result.decisions) { + trigger({ decisions: result.decisions }); + } + }); + }; diff --git a/packages/reactor-extension/src/lib/events/decisionsReceived/index.js b/packages/reactor-extension/src/lib/events/decisionsReceived/index.js new file mode 100644 index 000000000..a07b80024 --- /dev/null +++ b/packages/reactor-extension/src/lib/events/decisionsReceived/index.js @@ -0,0 +1,18 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { sendEventCallbackStorage } = require("../../index"); +const createDecisionsReceived = require("./createDecisionsReceived"); + +module.exports = createDecisionsReceived({ + sendEventCallbackStorage, +}); diff --git a/packages/reactor-extension/src/lib/events/monitor/createMonitorTriggered.js b/packages/reactor-extension/src/lib/events/monitor/createMonitorTriggered.js new file mode 100644 index 000000000..63c80e9ab --- /dev/null +++ b/packages/reactor-extension/src/lib/events/monitor/createMonitorTriggered.js @@ -0,0 +1,21 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager }) => + (settings, trigger) => { + instanceManager.addMonitor({ + [settings.name]: (...args) => { + trigger(...args); + }, + }); + }; diff --git a/packages/reactor-extension/src/lib/events/monitor/index.js b/packages/reactor-extension/src/lib/events/monitor/index.js new file mode 100644 index 000000000..ae347886f --- /dev/null +++ b/packages/reactor-extension/src/lib/events/monitor/index.js @@ -0,0 +1,18 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const instanceManager = require("../../instanceManager/index"); +const createMonitorTriggered = require("./createMonitorTriggered"); + +module.exports = createMonitorTriggered({ + instanceManager, +}); diff --git a/packages/reactor-extension/src/lib/events/sendEventComplete/createSendEventComplete.js b/packages/reactor-extension/src/lib/events/sendEventComplete/createSendEventComplete.js new file mode 100644 index 000000000..68d68126a --- /dev/null +++ b/packages/reactor-extension/src/lib/events/sendEventComplete/createSendEventComplete.js @@ -0,0 +1,17 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ sendEventCallbackStorage }) => + (settings, trigger) => { + sendEventCallbackStorage.add(trigger); + }; diff --git a/packages/reactor-extension/src/lib/events/sendEventComplete/index.js b/packages/reactor-extension/src/lib/events/sendEventComplete/index.js new file mode 100644 index 000000000..100c8d4fb --- /dev/null +++ b/packages/reactor-extension/src/lib/events/sendEventComplete/index.js @@ -0,0 +1,18 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { sendEventCallbackStorage } = require("../../index"); +const createSendEventComplete = require("./createSendEventComplete"); + +module.exports = createSendEventComplete({ + sendEventCallbackStorage, +}); diff --git a/packages/reactor-extension/src/lib/events/subscribeRulesetItems/createSubscribeRulesetItems.js b/packages/reactor-extension/src/lib/events/subscribeRulesetItems/createSubscribeRulesetItems.js new file mode 100644 index 000000000..5da6d2120 --- /dev/null +++ b/packages/reactor-extension/src/lib/events/subscribeRulesetItems/createSubscribeRulesetItems.js @@ -0,0 +1,29 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ instanceManager }) => + (settings, trigger) => { + const { instanceName, ...options } = settings; + + const instance = instanceManager.getInstance(instanceName); + if (!instance) { + throw new Error( + `Failed to subscribe ruleset items for instance "${instanceName}". No instance was found with this name.`, + ); + } + + return instance("subscribeRulesetItems", { + ...options, + callback: trigger, + }); + }; diff --git a/packages/reactor-extension/src/lib/events/subscribeRulesetItems/index.js b/packages/reactor-extension/src/lib/events/subscribeRulesetItems/index.js new file mode 100644 index 000000000..291f47364 --- /dev/null +++ b/packages/reactor-extension/src/lib/events/subscribeRulesetItems/index.js @@ -0,0 +1,16 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createSubscribeRulesetItems = require("./createSubscribeRulesetItems"); +const instanceManager = require("../../instanceManager/index"); + +module.exports = createSubscribeRulesetItems({ instanceManager }); diff --git a/packages/reactor-extension/src/lib/index.js b/packages/reactor-extension/src/lib/index.js new file mode 100644 index 000000000..4885ae3b7 --- /dev/null +++ b/packages/reactor-extension/src/lib/index.js @@ -0,0 +1,20 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const createEventMergeIdCache = require("./createEventMergeIdCache"); +const createSendEventCallbackStorage = require("./createSendEventCallbackStorage"); +const createMediaCollectionSessionStorage = require("./createMediaCollectionSessionStorage"); +const createVariableStore = require("./createVariableStore"); + +exports.eventMergeIdCache = createEventMergeIdCache(); +exports.sendEventCallbackStorage = createSendEventCallbackStorage(); +exports.mediaCollectionSessionStorage = createMediaCollectionSessionStorage(); +exports.variableStore = createVariableStore(); diff --git a/packages/reactor-extension/src/lib/instanceManager/createInstanceManager.js b/packages/reactor-extension/src/lib/instanceManager/createInstanceManager.js new file mode 100644 index 000000000..2fe94ca3d --- /dev/null +++ b/packages/reactor-extension/src/lib/instanceManager/createInstanceManager.js @@ -0,0 +1,142 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +const { PREINSTALLED } = require("../constants/libraryType"); + +module.exports = ({ + turbine, + window, + createCustomInstance, + components, + createEventMergeId, + orgId, + wrapOnBeforeEventSend, + getConfigOverrides, +}) => { + const { instances: instancesSettings, libraryCode } = + turbine.getExtensionSettings(); + const isPreinstalled = libraryCode?.type === PREINSTALLED; + + const instanceByName = {}; + + const calledMonitors = {}; + + window.__alloyMonitors = window.__alloyMonitors || []; + // these are called before the monitors are added at runtime, we want to cache and trigger later + window.__alloyMonitors.push({ + onInstanceCreated: (...args) => { + calledMonitors.onInstanceCreated ||= []; + calledMonitors.onInstanceCreated.push(args); + }, + onInstanceConfigured: (...args) => { + calledMonitors.onInstanceConfigured ||= []; + calledMonitors.onInstanceConfigured.push(args); + }, + onBeforeCommand(...args) { + const { commandName } = args[0]; + if (commandName === "configure") { + calledMonitors.onBeforeCommand ||= []; + calledMonitors.onBeforeCommand.push(args); + } + }, + }); + + instancesSettings.forEach( + ({ + name, + edgeConfigId, + stagingEdgeConfigId, + developmentEdgeConfigId, + onBeforeEventSend, + ...options + }) => { + // Create instance - works for both managed and preinstalled modes + // In preinstalled mode, createCustomInstance returns a proxy that waits for external instance + // In managed mode, createCustomInstance creates and returns a real Alloy instance + const instance = createCustomInstance({ name, components }); + + if (!window.__alloyNS) { + window.__alloyNS = []; + } + + // Only configure if NOT using preinstalled mode + // In preinstalled mode, the external instance is already configured by user code + if (!isPreinstalled) { + const environment = turbine.environment && turbine.environment.stage; + + const computedEdgeConfigId = + (environment === "development" && developmentEdgeConfigId) || + (environment === "staging" && stagingEdgeConfigId) || + edgeConfigId; + + options.edgeConfigOverrides = getConfigOverrides(options); + + instance("configure", { + ...options, + datastreamId: computedEdgeConfigId, + debugEnabled: turbine.debugEnabled, + orgId: options.orgId || orgId, + onBeforeEventSend: wrapOnBeforeEventSend(onBeforeEventSend), + }); + + turbine.onDebugChanged((enabled) => { + instance("setDebug", { enabled }); + }); + + if (window[name] && window[name].q) { + const instanceFunction = ([resolve, reject, args]) => { + instance(...args) + .then(resolve) + .catch(reject); + }; + const queue = window[name].q; + queue.push = instanceFunction; + queue.forEach(instanceFunction); + } else { + // Only add to __alloyNS and window if managed mode + // In preinstalled mode, the external instance already exists on window + window.__alloyNS.push(name); + window[name] = instance; + } + } + instanceByName[name] = instance; + }, + ); + + return { + /** + * Returns an instance by name. + * @param name + * @returns {Function} + */ + getInstance(name) { + return instanceByName[name]; + }, + /** + * Synchronously creates an event merge ID. + * @returns {string} + */ + createEventMergeId() { + return createEventMergeId(); + }, + addMonitor(newMonitor) { + window.__alloyMonitors.push(newMonitor); + Object.keys(calledMonitors).forEach((methodName) => { + if (newMonitor[methodName]) { + calledMonitors[methodName].forEach((args) => { + newMonitor[methodName](...args); + }); + } + }); + }, + }; +}; diff --git a/packages/reactor-extension/src/lib/instanceManager/index.js b/packages/reactor-extension/src/lib/instanceManager/index.js new file mode 100644 index 000000000..5d8a62b83 --- /dev/null +++ b/packages/reactor-extension/src/lib/instanceManager/index.js @@ -0,0 +1,39 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +// The Adobe Launch bundler doesn't handle requiring npm packages, but this is +// equivalent to require("@adobe/alloy"). We could run our own bundler to do this, +// but this works. If Alloy changed the location of its cjs entry point we would +// need to change the path here. +const { + createCustomInstance, + createEventMergeId, + components, +} = require("../alloy"); +const createInstanceManager = require("./createInstanceManager"); +const injectWrapOnBeforeEventSend = require("./injectWrapOnBeforeEventSend"); +const createGetConfigOverrides = require("../utils/createGetConfigOverrides"); + +const version = "__VERSION__"; + +const wrapOnBeforeEventSend = injectWrapOnBeforeEventSend({ version }); + +module.exports = createInstanceManager({ + turbine, + window, + createCustomInstance, + components, + createEventMergeId, + orgId: _satellite.company.orgId, + wrapOnBeforeEventSend, + getConfigOverrides: createGetConfigOverrides(turbine.environment?.stage), +}); diff --git a/packages/reactor-extension/src/lib/instanceManager/injectWrapOnBeforeEventSend.js b/packages/reactor-extension/src/lib/instanceManager/injectWrapOnBeforeEventSend.js new file mode 100644 index 000000000..74b3434a5 --- /dev/null +++ b/packages/reactor-extension/src/lib/instanceManager/injectWrapOnBeforeEventSend.js @@ -0,0 +1,23 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +module.exports = + ({ version }) => + (onBeforeEventSend) => + (content) => { + content.xdm.implementationDetails.name = `${content.xdm.implementationDetails.name}/reactor`; + content.xdm.implementationDetails.version = `${content.xdm.implementationDetails.version}+${version}`; + if (onBeforeEventSend) { + return onBeforeEventSend(content); + } + return undefined; + }; diff --git a/packages/reactor-extension/src/lib/utils/clone.js b/packages/reactor-extension/src/lib/utils/clone.js new file mode 100644 index 000000000..5e62a1c42 --- /dev/null +++ b/packages/reactor-extension/src/lib/utils/clone.js @@ -0,0 +1,18 @@ +/* +Copyright 2020 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +/** + * Clones a value by serializing then deserializing the value. + * @param {*} value + * @returns {any} + */ +module.exports = (value) => JSON.parse(JSON.stringify(value)); diff --git a/packages/reactor-extension/src/lib/utils/createGetConfigOverrides.js b/packages/reactor-extension/src/lib/utils/createGetConfigOverrides.js new file mode 100644 index 000000000..7c2aec256 --- /dev/null +++ b/packages/reactor-extension/src/lib/utils/createGetConfigOverrides.js @@ -0,0 +1,123 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +/** + * Create the config overrides for the given environment. + * + * @typedef {Object} EdgeConfigOverrides + * + * @param {Object} settings + * @param { { development: EdgeConfigOverrides, staging: EdgeConfigOverrides, production: EdgeConfigOverrides }= } settings.edgeConfigOverrides + * @param {"development" | "staging" | "production"} environmentName + * @returns {EdgeConfigOverrides?} + */ +const createGetConfigOverrides = (environmentName) => (settings) => { + const { edgeConfigOverrides } = settings; + let computedConfigOverrides; + // if there are no overrides at all, return undefined + if (!edgeConfigOverrides) { + return undefined; + } + // If there is an edgeConfigOverrides object, but no overrides for the current environment, check for + // the old settings when there were no environment-specific overrides. + if (!edgeConfigOverrides[environmentName]) { + // there are no settings for this current env, but there are settings for others + if ( + edgeConfigOverrides.development || + edgeConfigOverrides.staging || + edgeConfigOverrides.production + ) { + return undefined; + } + // there are old settings + computedConfigOverrides = edgeConfigOverrides; + } else { + // there are settings for the current environment + computedConfigOverrides = { ...edgeConfigOverrides[environmentName] }; + } + + if ( + Object.keys(computedConfigOverrides).length === 0 || + // explicit because `undefined` means 'enabled' + computedConfigOverrides.enabled === false + ) { + return undefined; + } + delete computedConfigOverrides.enabled; + + // delete every child `enabled: true` key-value pair—it's the same as undefined + // Also "no override" can be represented as undefined, "", or null from a data element. + Object.keys(computedConfigOverrides).forEach((key) => { + if (Object.keys(computedConfigOverrides[key]).includes("enabled")) { + const enabled = computedConfigOverrides[key].enabled; + if (enabled === true) { + delete computedConfigOverrides[key].enabled; + } + if (enabled === "" || enabled === null || enabled === undefined) { + delete computedConfigOverrides[key]; + } + } + }); + + // delete every com_adobe_experience_platform.*.enabled: true key-value pair + // its the same as undefined. + Object.keys( + computedConfigOverrides.com_adobe_experience_platform || {}, + ).forEach((key) => { + if ( + computedConfigOverrides.com_adobe_experience_platform[key]?.enabled === + true + ) { + delete computedConfigOverrides.com_adobe_experience_platform[key].enabled; + } + }); + + // handle commas in report suites, and filter out empty strings + if (computedConfigOverrides.com_adobe_analytics?.reportSuites?.length > 0) { + computedConfigOverrides.com_adobe_analytics.reportSuites = + computedConfigOverrides.com_adobe_analytics.reportSuites + .flatMap((val) => (val.includes(",") ? val.split(/,\s*/gi) : val)) + .map((rsid) => rsid.trim()) + .filter(Boolean); + } + + // accepted input is a string that is either an integer or an empty string + // output is either an integer or undefined + if ( + computedConfigOverrides.com_adobe_identity?.idSyncContainerId !== + undefined && + computedConfigOverrides.com_adobe_identity?.idSyncContainerId !== null && + typeof computedConfigOverrides.com_adobe_identity?.idSyncContainerId === + "string" + ) { + if ( + computedConfigOverrides.com_adobe_identity.idSyncContainerId.trim() === "" + ) { + delete computedConfigOverrides.com_adobe_identity.idSyncContainerId; + } else { + const parsedValue = parseInt( + computedConfigOverrides.com_adobe_identity.idSyncContainerId.trim(), + 10, + ); + if (Number.isNaN(parsedValue)) { + throw new Error( + `The ID sync container ID "${computedConfigOverrides.com_adobe_identity.idSyncContainerId}" is not a valid integer.`, + ); + } + computedConfigOverrides.com_adobe_identity.idSyncContainerId = + parsedValue; + } + } + // alloy handles filtering out other empty strings and empty objects + return computedConfigOverrides; +}; + +module.exports = createGetConfigOverrides; diff --git a/packages/reactor-extension/src/lib/utils/pathUtils.js b/packages/reactor-extension/src/lib/utils/pathUtils.js new file mode 100644 index 000000000..84cfb48d8 --- /dev/null +++ b/packages/reactor-extension/src/lib/utils/pathUtils.js @@ -0,0 +1,100 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +const IS_NUMBER_REGEX = /^-?[0-9]+$/; + +const resolvePath = (path) => { + return path + .split(".") + .map((pathElement) => { + if (IS_NUMBER_REGEX.test(pathElement)) { + return parseInt(pathElement, 10); + } + return pathElement; + }) + .filter((pathElement) => pathElement !== ""); +}; + +const toObject = (mixed) => { + const obj = mixed || {}; + if (typeof obj !== "object") { + return {}; + } + return obj; +}; + +const toArray = (mixed) => { + const array = mixed || []; + if (!Array.isArray(array)) { + return []; + } + return array; +}; + +const setValue = (parent, key, value) => { + if (typeof key === "number") { + const newArray = parent.slice(); + newArray[key] = value; + return newArray; + } + return { + ...parent, + [key]: value, + }; +}; + +const deletePath = (parent, key) => { + if (typeof key === "number") { + return [...parent.slice(0, key), ...parent.slice(key + 1)]; + } + const returnObject = { + ...parent, + }; + delete returnObject[key]; + return returnObject; +}; + +const run = (parent, key, path, i, onLeafNode) => { + if (i === path.length) { + return onLeafNode(parent, key); + } + + let value; + let pathElement = path[i]; + + if (typeof pathElement === "number") { + value = toArray(parent[key]); + pathElement = pathElement < 0 ? value.length + pathElement : pathElement; + pathElement = pathElement < 0 ? 0 : pathElement; + } else { + value = toObject(parent[key]); + } + return setValue( + parent, + key, + run(value, pathElement, path, i + 1, onLeafNode), + ); +}; + +const createOperation = (onLeafNode) => (mixed, pathString, value) => { + return run( + { value: mixed }, + "value", + resolvePath(pathString), + 0, + (parent, key) => { + return onLeafNode(parent, key, value); + }, + ).value; +}; + +exports.setValue = createOperation(setValue); +exports.deletePath = createOperation(deletePath); diff --git a/packages/reactor-extension/src/view/actions/applyPropositions.html b/packages/reactor-extension/src/view/actions/applyPropositions.html new file mode 100644 index 000000000..bedc4e83e --- /dev/null +++ b/packages/reactor-extension/src/view/actions/applyPropositions.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/applyPropositions.jsx b/packages/reactor-extension/src/view/actions/applyPropositions.jsx new file mode 100644 index 000000000..f4d643df7 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/applyPropositions.jsx @@ -0,0 +1,84 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import { string } from "yup"; +import renderForm from "../forms/renderForm"; +import instancePicker from "../forms/instancePicker"; +import textField from "../forms/textField"; +import objectArray from "../forms/objectArray"; +import dataElement from "../forms/dataElement"; +import comboBox from "../forms/comboBox"; +import requiredComponent from "../forms/requiredComponent"; + +const applyPropositionsForm = requiredComponent( + { + requiredComponent: "personalization", + title: "the Apply proposition action", + whole: true, + }, + [ + instancePicker({ name: "instanceName" }), + dataElement({ + name: "propositions", + label: "Propositions", + description: + 'Provide a data element that resolves to an array of propositions to render. Enter "%event.propositions%" if this is an action of a Send event complete event.', + }), + textField({ + name: "viewName", + label: "View name", + description: "Provide a view to render the propositions for that view.", + }), + objectArray( + { + name: "metadata", + label: "Proposition metadata", + singularLabel: "Scope", + dataElementDescription: + "Provide a data element that resolves to an object scope keys, and object values with keys: selector and actionType.", + objectKey: "scope", + objectLabelPlural: "Scopes", + isRowEmpty: ({ scope, selector, actionType }) => + scope === "" && selector === "" && actionType === "", + }, + [ + textField({ + name: "scope", + label: "Scope", + description: "Enter your scope", + validationSchemaBase: string().required("Please provide a scope."), + }), + textField({ + name: "selector", + label: "Selector", + description: "Enter your selector", + validationSchemaBase: string().required("Please provide a selector."), + }), + comboBox({ + name: "actionType", + label: "Action Type", + description: "Select your action type", + items: [ + { value: "setHtml", label: "Set HTML" }, + { value: "replaceHtml", label: "Replace HTML" }, + { value: "appendHtml", label: "Append HTML" }, + { value: "collectInteractions", label: "Collect interactions" }, + ], + validationSchemaBase: string().required( + "Please provide an action type.", + ), + }), + ], + ), + ], +); + +renderForm(applyPropositionsForm); diff --git a/packages/reactor-extension/src/view/actions/applyResponse.html b/packages/reactor-extension/src/view/actions/applyResponse.html new file mode 100644 index 000000000..69c9d3bc9 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/applyResponse.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/applyResponse.jsx b/packages/reactor-extension/src/view/actions/applyResponse.jsx new file mode 100644 index 000000000..02716eb0a --- /dev/null +++ b/packages/reactor-extension/src/view/actions/applyResponse.jsx @@ -0,0 +1,125 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import PropTypes from "prop-types"; +import { object, string } from "yup"; +import FormikTextField from "../components/formikReactSpectrum3/formikTextField"; +import FormikCheckbox from "../components/formikReactSpectrum3/formikCheckbox"; +import DataElementSelector from "../components/dataElementSelector"; +import render from "../render"; +import ExtensionView from "../components/extensionView"; +import singleDataElementRegex from "../constants/singleDataElementRegex"; +import { DATA_ELEMENT_REQUIRED } from "../constants/validationErrorMessages"; +import FormElementContainer from "../components/formElementContainer"; +import InstanceNamePicker from "../components/instanceNamePicker"; +import useFocusFirstError from "../utils/useFocusFirstError"; + +const getInitialValues = ({ initInfo }) => { + const { + instanceName = initInfo.extensionSettings.instances[0].name, + renderDecisions = false, + responseHeaders = "", + responseBody = "", + } = initInfo.settings || {}; + + return { + instanceName, + renderDecisions, + responseHeaders, + responseBody, + }; +}; + +const getSettings = ({ values }) => { + const settings = { + instanceName: values.instanceName, + }; + // Only add if the value is different than the default (false). + if (values.renderDecisions) { + settings.renderDecisions = true; + } + if (values.responseHeaders) { + settings.responseHeaders = values.responseHeaders; + } + if (values.responseBody) { + settings.responseBody = values.responseBody; + } + return settings; +}; + +const validationSchema = object().shape({ + responseHeaders: string().matches( + singleDataElementRegex, + DATA_ELEMENT_REQUIRED, + ), + responseBody: string() + .matches(singleDataElementRegex, DATA_ELEMENT_REQUIRED) + .required("Please provide a response body."), +}); + +const FormFields = ({ initInfo }) => { + useFocusFirstError(); + + return ( + + + + + + + + + + Render visual personalization decisions + + + ); +}; + +FormFields.propTypes = { + initInfo: PropTypes.object.isRequired, +}; + +const ApplyResponse = () => { + return ( + } + /> + ); +}; + +render(ApplyResponse); diff --git a/packages/reactor-extension/src/view/actions/constants/eventTypes.js b/packages/reactor-extension/src/view/actions/constants/eventTypes.js new file mode 100644 index 000000000..20bdbde40 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/constants/eventTypes.js @@ -0,0 +1,97 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import mediaEventTypes from "./mediaEventTypes"; + +export default { + "advertising.completes": "Advertising Completes", + "advertising.timePlayed": "Advertising Time Played", + "advertising.federated": "Advertising Federated", + "advertising.clicks": "Advertising Clicks", + "advertising.conversions": "Advertising Conversions", + "advertising.firstQuartiles": "Advertising First Quartiles", + "advertising.impressions": "Advertising Impressions", + "advertising.midpoints": "Advertising Midpoints", + "advertising.starts": "Advertising Starts", + "advertising.thirdQuartiles": "Advertising Third Quartiles", + "application.close": "Application Close", + "application.launch": "Application Launch", + "web.webpagedetails.pageViews": "Web Webpagedetails Page Views", + "web.webinteraction.linkClicks": "Web Webinteraction Link Clicks", + "web.formFilledOut": "Web Form Filled Out", + "commerce.checkouts": "Commerce Checkouts", + "commerce.productListAdds": "Commerce Product List (Cart) Adds", + "commerce.productListOpens": "Commerce Product List (Cart) Opens", + "commerce.productListRemovals": "Commerce Product List (Cart) Removals", + "commerce.productListReopens": "Commerce Product List (Cart) Reopens", + "commerce.productListViews": "Commerce Product List (Cart) Views", + "commerce.productViews": "Commerce Product (Cart) Views", + "commerce.purchases": "Commerce Purchases", + "commerce.saveForLaters": "Commerce Save For Laters", + "commerce.backofficeOrderPlaced": "Commerce Backoffice Order Placed", + "commerce.backofficeOrderCancelled": "Commerce Backoffice Order Cancelled", + "commerce.backofficeOrderItemsShipped": + "Commerce Backoffice OrderItems Shipped", + "commerce.backofficeCreditMemoIssued": + "Commerce Backoffice CreditMemo Issued", + "commerce.backofficeShipmentCompleted": + "Commerce Backoffice Shipment Completed", + "decisioning.propositionDisplay": "Decisioning Proposition Display", + "decisioning.propositionInteract": "Decisioning Proposition Interact", + "decisioning.propositionSend": "Decisioning Proposition Send", + "decisioning.propositionDismiss": "Decisioning Proposition Dismiss", + "decisioning.propositionTrigger": "Decisioning Proposition Trigger", + "decisioning.propositionFetch": "Decisioning Proposition Fetch", + "delivery.feedback": "Delivery Feedback", + "message.feedback": "Message Feedback", + "message.tracking": "Message Tracking", + "pushTracking.applicationOpened": "Push Tracking Application Opened", + "pushTracking.customAction": "Push Tracking Custom Action", + "listOperation.removeFromList": "List Operation Remove From List", + "listOperation.addToList": "List Operation Add To List", + "leadOperation.scoreChanged": "Lead Operation Score Changed", + "leadOperation.revenueStageChanged": "Lead Operation Revenue Stage changed", + "leadOperation.statusInCampaignProgressionChanged": + "Lead Operation Status In Campaign Progression Changed", + "leadOperation.interestingMoment": "Lead Operation Interesting Moment", + "leadOperation.newLead": "Lead Operation New Lead", + "leadOperation.convertLead": "Lead Operation Convert Lead", + "leadOperation.callWebhook": "Lead Operation Call Webhook", + "leadOperation.changeEngagementCampaignCadence": + "Change Engagement Campaign Cadence", + "leadOperation.addToCampaign": "Lead Operation Add To Campaign", + "leadOperation.changeCampaignStream": "Lead Operation Change Campaign Stream", + "leadOperation.mergeLeads": "Lead Operation Merge Leads", + "directMarketing.emailBounced": "Direct Marketing Email Bounced", + "directMarketing.emailBouncedSoft": "Direct Marketing Email Bounced Soft", + "directMarketing.emailDelivered": "Direct Marketing Email Delivered", + "directMarketing.emailUnsubscribed": "Direct Marketing Email Unsubscribed", + "directMarketing.emailOpened": "Direct Marketing Email Opened", + "directMarketing.emailClicked": "Direct Marketing Email Clicked", + "directMarketing.emailSent": "Direct Marketing Email Sent", + "opportunityEvent.removeFromOpportunity": + "Opportunity Event Remove From Opportunity", + "opportunityEvent.addToOpportunity": "Opportunity Event Add To Opportunity", + "opportunityEvent.opportunityUpdated": + "Opportunity Event Opportunity Updated", + "inappmessageTracking.dismiss": "inapp message was dimissed", + "inappmessageTracking.display": "inapp message was displayed", + "inappmessageTracking.interact": "inapp message was interacted with", + "media.reporting.sessionStart": "Media reporting sessionStart", + "media.reporting.sessionClose": "Media reporting sessionClose", + "media.reporting.adStart": "Media reporting adStart", + "media.reporting.adClose": "Media reporting adClose", + "media.reporting.chapterClose": "Media reporting chapterClose", + "location.entry": "Location entry", + "location.exit": "Location exit", + ...mediaEventTypes, +}; diff --git a/packages/reactor-extension/src/view/actions/constants/mediaContentTypes.js b/packages/reactor-extension/src/view/actions/constants/mediaContentTypes.js new file mode 100644 index 000000000..2d021c67c --- /dev/null +++ b/packages/reactor-extension/src/view/actions/constants/mediaContentTypes.js @@ -0,0 +1,22 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +export default { + vod: "Video-on-demand", + live: "Live streaming", + linear: "Linear playback of the media asset", + ugc: "User-generated content", + dvod: "Downloaded video-on-demand", + radio: "Radio show", + podcast: "Podcast", + audiobook: "Audiobook", + song: "Song", +}; diff --git a/packages/reactor-extension/src/view/actions/constants/mediaEventTypes.js b/packages/reactor-extension/src/view/actions/constants/mediaEventTypes.js new file mode 100644 index 000000000..58877dd41 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/constants/mediaEventTypes.js @@ -0,0 +1,31 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +export default { + "media.ping": "Ping", + "media.sessionStart": "Session start", + "media.play": "Play", + "media.bufferStart": "Buffer start", + "media.pauseStart": "Pause", + "media.chapterStart": "Chapter start", + "media.chapterSkip": "Chapter skip", + "media.chapterComplete": "Chapter complete", + "media.adStart": "Ad start", + "media.adSkip": "Ad skip", + "media.adComplete": "Ad complete", + "media.adBreakStart": "Ad break start", + "media.adBreakComplete": "Ad break complete", + "media.bitrateChange": "Bitrate change", + "media.error": "Error", + "media.sessionComplete": "Session complete", + "media.sessionEnd": "Session end", + "media.statesUpdate": "States update", +}; diff --git a/packages/reactor-extension/src/view/actions/constants/mediaShowTypes.js b/packages/reactor-extension/src/view/actions/constants/mediaShowTypes.js new file mode 100644 index 000000000..6a39cc829 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/constants/mediaShowTypes.js @@ -0,0 +1,17 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +export default { + 0: "Full episode", + 1: "Preview/trailer", + 2: "Clip", + 3: "Other", +}; diff --git a/packages/reactor-extension/src/view/actions/constants/mediaStates.js b/packages/reactor-extension/src/view/actions/constants/mediaStates.js new file mode 100644 index 000000000..5b1ac893b --- /dev/null +++ b/packages/reactor-extension/src/view/actions/constants/mediaStates.js @@ -0,0 +1,18 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +export default { + closedCaptioning: "Closed captioning", + fullScreen: "Full screen", + inFocus: "In focus", + mute: "Mute", + pictureInPicture: "Picture in picture", +}; diff --git a/packages/reactor-extension/src/view/actions/createMediaTracker.html b/packages/reactor-extension/src/view/actions/createMediaTracker.html new file mode 100644 index 000000000..a7c4309a2 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/createMediaTracker.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/createMediaTracker.jsx b/packages/reactor-extension/src/view/actions/createMediaTracker.jsx new file mode 100644 index 000000000..0d504788b --- /dev/null +++ b/packages/reactor-extension/src/view/actions/createMediaTracker.jsx @@ -0,0 +1,44 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import instancePicker from "../forms/instancePicker"; +import textField from "../forms/textField"; +import renderForm from "../forms/renderForm"; +import notice from "../forms/notice"; +import requiredComponent from "../forms/requiredComponent"; + +const createMediaTrackerForm = requiredComponent( + { + requiredComponent: "mediaAnalyticsBridge", + title: "the Create media tracker action", + whole: true, + }, + [ + notice({ + title: "Legacy Media Analytics", + description: + "This action exports the Media API to a window object, which is particularly useful for those transitioning " + + "from the legacy Media JS SDK to the Web SDK. Please ensure that the Streaming Media section is properly " + + "configured for the instance in the configuration view before proceeding.", + }), + instancePicker({ name: "instanceName" }), + textField({ + name: "objectName", + label: "Export the Media Legacy API to this window object", + description: + "Enter the object name where you want the Media API to be exported." + + " If none is provided by default it is going to be exported to 'window.Media'.", + }), + ], +); + +renderForm(createMediaTrackerForm); diff --git a/packages/reactor-extension/src/view/actions/evaluateRulesets.html b/packages/reactor-extension/src/view/actions/evaluateRulesets.html new file mode 100644 index 000000000..8fa129177 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/evaluateRulesets.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/evaluateRulesets.jsx b/packages/reactor-extension/src/view/actions/evaluateRulesets.jsx new file mode 100644 index 000000000..4b3c4d651 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/evaluateRulesets.jsx @@ -0,0 +1,81 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import renderForm from "../forms/renderForm"; +import instancePicker from "../forms/instancePicker"; +import checkbox from "../forms/checkbox"; +import simpleMap from "../forms/simpleMap"; +import notice from "../forms/notice"; +import requiredComponent from "../forms/requiredComponent"; + +const wrapGetInitialValues = + (getInitialValues) => + ({ initInfo }) => { + const { personalization = {}, ...otherSettings } = initInfo.settings || {}; + return getInitialValues({ + initInfo: { + ...initInfo, + settings: { ...personalization, ...otherSettings }, + }, + }); + }; + +const wrapGetSettings = + (getSettings) => + ({ values }) => { + const { decisionContext, ...settings } = getSettings({ values }); + if (decisionContext) { + settings.personalization = {}; + settings.personalization.decisionContext = decisionContext; + } + return settings; + }; + +const evaluateRulesetsForm = requiredComponent( + { + requiredComponent: "rulesEngine", + title: "the Evaluate rulesets action", + whole: true, + wrapGetInitialValues, + wrapGetSettings, + }, + [ + notice({ + title: "Evaluate rulesets action", + description: + "This action manually triggers ruleset evaluation. Rulesets are returned by Adobe Journey Optimizer to support features like in-browser messages.", + }), + instancePicker({ name: "instanceName" }), + checkbox({ + name: "renderDecisions", + label: "Render visual personalization decisions", + description: + "Check this to render visual personalization decisions for the ruleset items that match.", + defaultValue: false, + }), + simpleMap({ + name: "decisionContext", + label: "Decision context", + singularLabel: "Context item", + description: + "Provide the keys and values that the rulesets will use to determine which experience to deliver.", + dataElementDescription: + "Provide a data element that resolves to a map of key/value pairs.", + keyLabel: "Key", + keyLabelPlural: "Keys", + keyDescription: "Enter the context key.", + valueLabel: "Value", + valueDescription: "Enter the context value.", + }), + ], +); + +renderForm(evaluateRulesetsForm); diff --git a/packages/reactor-extension/src/view/actions/redirectWithIdentity.html b/packages/reactor-extension/src/view/actions/redirectWithIdentity.html new file mode 100644 index 000000000..a576684aa --- /dev/null +++ b/packages/reactor-extension/src/view/actions/redirectWithIdentity.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/redirectWithIdentity.jsx b/packages/reactor-extension/src/view/actions/redirectWithIdentity.jsx new file mode 100644 index 000000000..acc3364a9 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/redirectWithIdentity.jsx @@ -0,0 +1,105 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import { Link, InlineAlert, Content, Heading } from "@adobe/react-spectrum"; +import render from "../render"; +import ExtensionView from "../components/extensionView"; +import FormElementContainer from "../components/formElementContainer"; +import InstanceNamePicker from "../components/instanceNamePicker"; +import Overrides, { bridge as overridesBridge } from "../components/overrides"; +import getEdgeConfigIds from "../utils/getEdgeConfigIds"; + +const getInitialValues = ({ initInfo }) => { + const { + instanceName = initInfo.extensionSettings.instances[0].name, + edgeConfigOverrides, + } = initInfo.settings ?? {}; + + return { + instanceName, + ...overridesBridge.getInitialInstanceValues({ + instanceSettings: { edgeConfigOverrides }, + }), + }; +}; + +const getSettings = ({ values }) => { + const settings = { + instanceName: values.instanceName, + }; + + const { edgeConfigOverrides } = overridesBridge.getInstanceSettings({ + instanceValues: values, + }); + + if (edgeConfigOverrides && Object.keys(edgeConfigOverrides).length > 0) { + settings.edgeConfigOverrides = edgeConfigOverrides; + } + + return settings; +}; + +const validationSchema = overridesBridge.formikStateValidationSchema; + +const RedirectWithIdentity = () => { + return ( + { + const { instanceName } = values; + const instanceSettings = initInfo.extensionSettings.instances.find( + (instance) => instance.name === instanceName, + ); + const edgeConfigIds = getEdgeConfigIds(instanceSettings); + const orgId = instanceSettings.orgId ?? initInfo.company.orgId; + return ( + <> + + Redirect with identity + + Use this action to share identities from the current page to + other domains. This action is designed to be used with a click + event type and a value comparison condition. See{" "} + + cross-domain ID sharing + {" "} + for more information. + + + + + + + + ); + }} + /> + ); +}; + +render(RedirectWithIdentity); diff --git a/packages/reactor-extension/src/view/actions/resetEventMergeId.html b/packages/reactor-extension/src/view/actions/resetEventMergeId.html new file mode 100644 index 000000000..82a8ac953 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/resetEventMergeId.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/resetEventMergeId.jsx b/packages/reactor-extension/src/view/actions/resetEventMergeId.jsx new file mode 100644 index 000000000..444b78462 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/resetEventMergeId.jsx @@ -0,0 +1,34 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import renderForm from "../forms/renderForm"; +import requiredComponent from "../forms/requiredComponent"; +import dataElement from "../forms/dataElement"; + +const resetEventMergeIdForm = requiredComponent( + { + requiredComponent: "eventMerge", + title: "the Reset event merge ID action", + whole: true, + }, + [ + dataElement({ + name: "eventMergeId", + label: "Event merge ID", + description: + "Please specify the data element that represents the event merge ID you would like to reset.", + isRequired: true, + }), + ], +); + +renderForm(resetEventMergeIdForm); diff --git a/packages/reactor-extension/src/view/actions/sendEvent.html b/packages/reactor-extension/src/view/actions/sendEvent.html new file mode 100644 index 000000000..836cbae84 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendEvent.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/sendEvent.jsx b/packages/reactor-extension/src/view/actions/sendEvent.jsx new file mode 100644 index 000000000..a7d4bb69d --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendEvent.jsx @@ -0,0 +1,17 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import render from "../render"; +import SendEventView from "./sendEventView"; + +// Do not include padding because the accordion already has padding. +render(SendEventView); diff --git a/packages/reactor-extension/src/view/actions/sendEventView.jsx b/packages/reactor-extension/src/view/actions/sendEventView.jsx new file mode 100644 index 000000000..659cfe51d --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendEventView.jsx @@ -0,0 +1,607 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import { Link } from "@adobe/react-spectrum"; + +import { string } from "yup"; +import checkbox from "../forms/checkbox"; +import comboBox from "../forms/comboBox"; +import instancePicker from "../forms/instancePicker"; +import form from "../forms/form"; +import radioGroup from "../forms/radioGroup"; +import section from "../forms/section"; +import dataElement from "../forms/dataElement"; +import fieldArray from "../forms/fieldArray"; +import disabledTextField from "../forms/disabledTextField"; +import conditional from "../forms/conditional"; +import disabledCheckbox from "../forms/disabledCheckbox"; +import configOverrides from "../forms/configOverrides"; +import simpleMap from "../forms/simpleMap"; +import requiredComponent from "../forms/requiredComponent"; + +import eventTypes from "./constants/eventTypes"; + +import textField from "../forms/textField"; +import { validateSurface } from "../utils/surfaceUtils"; +import copyPropertiesIfValueDifferentThanDefault from "../configuration/utils/copyPropertiesIfValueDifferentThanDefault"; +import generateComponentFromForm from "../forms/generateComponentFromForm"; + +const FETCH = "fetch"; +const COLLECT = "collect"; + +// Advertising data handling options +const ADVERTISING_DATA = Object.freeze({ + AUTOMATIC: "auto", + WAIT: "wait", + DISABLED: "disabled", +}); + +// Default advertising settings +const DEFAULT_ADVERTISING_SETTINGS = Object.freeze({ + handleAdvertisingData: ADVERTISING_DATA.DISABLED, +}); + +const xdmFieldDescription = ( + <> + Provide a data element which returns an object matching your XDM schema. You + may want to use the{" "} + + XDM Object + {" "} + data element type to build this object. You can also combine objects using + the{" "} + + Merged Objects + {" "} + data element type from the Core extension. + +); + +const wrapGetInitialValues = + (getInitialValues) => + ({ initInfo }) => { + const { + personalization = {}, + advertising = {}, + ...otherSettings + } = initInfo.settings || {}; + + // Flatten personalization settings and use strings for data element booleans + if (personalization.defaultPersonalizationEnabled === true) { + personalization.defaultPersonalizationEnabled = "true"; + } else if (personalization.defaultPersonalizationEnabled === false) { + personalization.defaultPersonalizationEnabled = "false"; + } + + // Handle advertising data settings - extract for form use but don't add to root level + const handleAdvertisingData = + advertising.handleAdvertisingData || + DEFAULT_ADVERTISING_SETTINGS.handleAdvertisingData; + + const newSettings = { + ...personalization, + ...otherSettings, + handleAdvertisingData, + }; + + // Handle backward compatability for making renderDecisions set to true + // for FETCH guided events. Previously you could modify renderDecisions on + // a FETCH guieded event. + const { guidedEventsEnabled, guidedEvent, renderDecisions } = newSettings; + + if ( + !renderDecisions && + guidedEventsEnabled && + (guidedEvent === undefined || guidedEvent === FETCH) + ) { + newSettings.guidedEventsEnabled = false; + delete newSettings.guidedEvent; + } + + return getInitialValues({ + initInfo: { + ...initInfo, + settings: newSettings, + }, + }); + }; + +const wrapGetSettings = + (getSettings) => + ({ values }) => { + const { + decisionScopes, + surfaces, + sendDisplayEvent, + includeRenderedPropositions, + defaultPersonalizationEnabled, + decisionContext, + handleAdvertisingData: extractedHandleAdvertisingData, + ...settings + } = getSettings({ values }); + + // Use the extracted value or get from values if not in getSettings result + let handleAdvertisingData = + extractedHandleAdvertisingData || values.handleAdvertisingData; + + // If data element is selected, get the actual data element value + if (handleAdvertisingData === "dataElement") { + handleAdvertisingData = values.handleAdvertisingDataDataElement; + } + + if ( + decisionScopes || + surfaces || + sendDisplayEvent === false || + includeRenderedPropositions || + defaultPersonalizationEnabled || + decisionContext + ) { + settings.personalization = {}; + } + if (decisionScopes) { + settings.personalization.decisionScopes = decisionScopes; + } + if (surfaces) { + settings.personalization.surfaces = surfaces; + } + if (sendDisplayEvent === false) { + settings.personalization.sendDisplayEvent = sendDisplayEvent; + } + if (includeRenderedPropositions) { + settings.personalization.includeRenderedPropositions = + includeRenderedPropositions; + } + if (defaultPersonalizationEnabled) { + settings.personalization.defaultPersonalizationEnabled = + defaultPersonalizationEnabled === "true"; + } + if (decisionContext) { + settings.personalization.decisionContext = decisionContext; + } + + // Handle advertising data settings - only include if different from default + const advertisingSettings = {}; + copyPropertiesIfValueDifferentThanDefault({ + toObj: advertisingSettings, + fromObj: { handleAdvertisingData }, + defaultsObj: DEFAULT_ADVERTISING_SETTINGS, + keys: ["handleAdvertisingData"], + }); + + if (Object.keys(advertisingSettings).length > 0) { + settings.advertising = advertisingSettings; + } + + return settings; + }; + +const eventTypeField = comboBox({ + name: "type", + label: "Type", + description: + "Enter an event type to populate the `eventType` XDM field. Select a predefined value or enter a custom value.", + dataElementDescription: + "Enter a data element that resolves to an event type.", + items: Object.keys(eventTypes).reduce((items, key) => { + items.push({ value: key, label: eventTypes[key] }); + return items; + }, []), + allowsCustomValue: true, +}); + +const fetchEventTypeField = disabledTextField({ + name: "type", + label: "Type", + description: + "Enter an event type to populate the `eventType` XDM field. Select a predefined value or enter a custom value.", + value: "decisioning.propositionFetch", + valueLabel: "Decisioning Proposition Fetch", +}); + +const xdmField = dataElement({ + name: "xdm", + label: "XDM", + description: xdmFieldDescription, +}); + +const dataField = dataElement({ + name: "data", + label: "Data", + description: + "Provide a data element which returns an object to send as data.", +}); + +const includeRenderedPropositionsField = requiredComponent( + { + requiredComponent: "personalization", + title: "the include rendered propositions option", + }, + [ + checkbox({ + name: "includeRenderedPropositions", + label: "Include rendered propositions", + description: + 'Check this to use this event as a display event, including the propositions that rendered when "automatically send a display event" was unchecked. This will populate the `_experience.decisioning` XDM field with information about rendered personalization.', + defaultValue: false, + }), + ], +); + +const disabledIncludeRenderedPropositionsField = disabledCheckbox({ + name: "includeRenderedPropositions", + label: "Include rendered propositions", + description: + 'Check this to use this event as a display event, including the propositions that rendered when "automatically send a display event" was unchecked. This will populate the `_experience.decisioning` XDM field with information about rendered personalization.', + value: true, +}); + +const documentUnloadingField = checkbox({ + name: "documentUnloading", + label: "Document will unload", + description: + "Check this to ensure the event will reach the server even if the user is navigating away from the current document (page). Any response from the server will be ignored.", +}); + +const mergeIdField = requiredComponent( + { + requiredComponent: "eventMerge", + title: "the merge ID field", + deprecated: true, + }, + [ + dataElement({ + name: "mergeId", + label: "Merge ID (Deprecated)", + description: + "Provide an identifier used to merge multiple events. This will populate the `eventMergeId` XDM field. This field has been deprecated because it is not supported by Adobe Experience Platform.", + }), + ], +); + +const decisionScopesField = fieldArray({ + name: "decisionScopes", + label: "Scopes", + singularLabel: "Scope", + description: "Create an array of decision scopes to query with the event.", + dataElementDescription: + "This data element should resolve to an array of scopes.", +}); + +const surfacesField = fieldArray({ + name: "surfaces", + label: "Surfaces", + singularLabel: "Surface", + description: "Create an array of surfaces to query with the event.", + dataElementDescription: + "This data element should resolve to an array of surfaces.", + validationSchema: string().test( + "is-surface", + () => "Please provide a valid surface", + (value, testContext) => { + const message = validateSurface(value); + if (message) { + return testContext.createError({ message }); + } + return true; + }, + ), +}); + +const renderDecisionsField = checkbox({ + name: "renderDecisions", + label: "Render visual personalization decisions", + description: "Check this to render visual personalization decisions.", + defaultValue: false, +}); + +const disabledRenderDecisionsField = disabledCheckbox({ + name: "renderDecisions", + label: "Render visual personalization decisions", + description: "Check this to render visual personalization decisions.", + value: true, +}); + +const sendDisplayEventField = conditional( + { + args: "renderDecisions", + condition: (renderDecisions) => renderDecisions, + }, + [ + checkbox({ + name: "sendDisplayEvent", + label: "Automatically send a display event", + description: + 'Check this to send a display event after personalization is rendered. Uncheck this to include the display notifications in a subsequent event with the "include rendered propositions" checked.', + defaultValue: true, + }), + ], +); + +const sendDisplayEventUnchecked = disabledCheckbox({ + name: "sendDisplayEvent", + label: "Automatically send a display event", + description: + 'Check this to send a display event after personalization is rendered. Uncheck this to include the display notifications in a subsequent event with the "include rendered propositions" checked.', + value: false, +}); + +const defaultPersonalizationEnabledField = radioGroup({ + name: "defaultPersonalizationEnabled", + label: "Request default personalization", + dataElementSupported: false, + defaultValue: "auto", + items: [ + { + value: "auto", + label: + "Automatic - request default personalization when it has not yet been requested.", + }, + { + value: "true", + label: + "Enabled - explicitly request the page scope and default surface. This will update the SPA view cache.", + }, + { + value: "false", + label: + "Disabled - explicitly suppress the request for the page scope and default surface.", + }, + ], +}); + +const advertisingDataField = radioGroup({ + name: "handleAdvertisingData", + label: "Request default Advertising data", + dataElementSupported: true, + dataElementDescription: + "Provide a data element that resolves to one of the following values: 'auto', 'wait', or 'disabled'.", + defaultValue: DEFAULT_ADVERTISING_SETTINGS.handleAdvertisingData, + items: [ + { + value: ADVERTISING_DATA.AUTOMATIC, + label: + "Automatic - any advertising data available at the time of this event will be automatically added to XDM.", + }, + { + value: ADVERTISING_DATA.WAIT, + label: + "Wait - delay the execution of this call until the advertising data has been retrieved and resolved. Then, add the data to XDM.", + }, + { + value: ADVERTISING_DATA.DISABLED, + label: + "Disabled - do not add advertising data to XDM. Use this for any requests that are not intended for Customer Journey Analytics or Adobe Analytics", + }, + ], +}); + +const decisionContext = requiredComponent( + { + requiredComponent: "rulesEngine", + title: "the decision context", + }, + [ + simpleMap({ + name: "decisionContext", + label: "Decision context", + singularLabel: "Context item", + description: + "Provide the keys and values that the rulesets will use to determine which experience to deliver.", + dataElementDescription: + "Provide a data element that resolves to a map of key/value pairs.", + keyLabel: "Key", + keyLabelPlural: "Keys", + keyDescription: "Enter the context key.", + valueLabel: "Value", + valueDescription: "Enter the context value.", + }), + ], +); + +const configOverrideFields = configOverrides(); +const datasetIdField = textField({ + name: "datasetId", + label: "Dataset ID (deprecated)", + description: + "Send data to a different dataset than what's been provided in the datastream. Note: this field is deprecated. Use the 'Event dataset' field instead.", +}); + +const sendEventForm = form( + { + wrapGetInitialValues, + wrapGetSettings, + }, + [ + instancePicker({ name: "instanceName" }), + checkbox({ + name: "guidedEventsEnabled", + label: "Use guided events", + description: + "Check this box to automatically fill in or hide certain fields to enable a particular use-case.", + defaultValue: false, + }), + conditional( + { + args: "guidedEventsEnabled", + condition: (guidedEventsEnabled) => !guidedEventsEnabled, + }, + [ + section({ label: "Data" }, [ + eventTypeField, + xdmField, + dataField, + includeRenderedPropositionsField, + documentUnloadingField, + mergeIdField, + ]), + section({ label: "Personalization" }, [ + requiredComponent( + { + requiredComponent: "personalization", + title: "the personalization section in the send event action", + }, + [ + decisionScopesField, + surfacesField, + renderDecisionsField, + sendDisplayEventField, + defaultPersonalizationEnabledField, + decisionContext, + ], + ), + ]), + section( + { + label: "Advertising", + beta: true, + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/tags/extensions/client/web-sdk/action-types#advertising", + }, + [ + requiredComponent( + { + requiredComponent: "advertising", + title: "the advertising section in the send event action", + }, + [advertisingDataField], + ), + ], + ), + configOverrideFields, + // only display the deprecated datasetId field if there is an existing + // datasetId value from the past + conditional( + { + args: "datasetId", + condition: (datasetId) => datasetId !== "" && Boolean(datasetId), + }, + [datasetIdField], + ), + ], + ), + conditional( + { + args: "guidedEventsEnabled", + condition: (guidedEventsEnabled) => guidedEventsEnabled, + }, + [ + radioGroup({ + name: "guidedEvent", + label: "Guided events", + dataElementSupported: false, + defaultValue: FETCH, + items: [ + { + value: FETCH, + label: + "Request personalization - get the latest personalization decisions without recording an Adobe Analytics event. This is meant to be called early in the page load.", + }, + { + value: COLLECT, + label: + "Collect analytics - record an event without getting personalization decisions. This is meant to be called late in the page load.", + }, + ], + }), + conditional( + { + args: "guidedEvent", + condition: (guidedEvent) => guidedEvent === FETCH, + }, + [ + section({ label: "Data" }, [ + fetchEventTypeField, + xdmField, + dataField, + ]), + section({ label: "Personalization" }, [ + requiredComponent( + { + requiredComponent: "personalization", + title: "the personalization section in the send event action", + }, + [ + decisionScopesField, + surfacesField, + disabledRenderDecisionsField, + sendDisplayEventUnchecked, + defaultPersonalizationEnabledField, + decisionContext, + ], + ), + ]), + section( + { + label: "Advertising", + beta: true, + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/tags/extensions/client/web-sdk/action-types#advertising", + }, + [ + requiredComponent( + { + requiredComponent: "advertising", + title: "the advertising section in the send event action", + }, + [advertisingDataField], + ), + ], + ), + configOverrideFields, + ], + ), + conditional( + { + args: "guidedEvent", + condition: (guidedEvent) => guidedEvent === COLLECT, + }, + [ + section({ label: "Data" }, [ + eventTypeField, + xdmField, + dataField, + disabledIncludeRenderedPropositionsField, + ]), + section( + { + label: "Advertising", + beta: true, + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/tags/extensions/client/web-sdk/action-types#advertising", + }, + [ + requiredComponent( + { + requiredComponent: "advertising", + title: "the advertising section in the send event action", + }, + [advertisingDataField], + ), + ], + ), + configOverrideFields, + ], + ), + ], + ), + ], +); + +export default generateComponentFromForm(sendEventForm); diff --git a/packages/reactor-extension/src/view/actions/sendPushSubscription.html b/packages/reactor-extension/src/view/actions/sendPushSubscription.html new file mode 100644 index 000000000..6475c8a7e --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendPushSubscription.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/sendPushSubscription.jsx b/packages/reactor-extension/src/view/actions/sendPushSubscription.jsx new file mode 100644 index 000000000..867e31398 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendPushSubscription.jsx @@ -0,0 +1,62 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import render from "../render"; +import ExtensionView from "../components/extensionView"; +import FormElementContainer from "../components/formElementContainer"; +import InstanceNamePicker from "../components/instanceNamePicker"; +import RequiredComponent from "../components/requiredComponent"; + +const getInitialValues = ({ initInfo }) => { + const { instanceName = initInfo.extensionSettings.instances[0].name } = + initInfo.settings ?? {}; + + return { + instanceName, + }; +}; + +const getSettings = ({ values }) => { + const settings = { + instanceName: values.instanceName, + }; + + return settings; +}; + +const SendPushSubscription = () => { + return ( + ( + + + + + + )} + /> + ); +}; + +render(SendPushSubscription); diff --git a/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.html b/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.html new file mode 100644 index 000000000..2379834fe --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.jsx b/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.jsx new file mode 100644 index 000000000..7e2ca75af --- /dev/null +++ b/packages/reactor-extension/src/view/actions/sendStreamingMediaEvent.jsx @@ -0,0 +1,885 @@ +/* +Copyright 2024 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import PropTypes from "prop-types"; +import { object, string } from "yup"; +import { isEmptyArray } from "formik"; +import comboBox from "../forms/comboBox"; +import instancePicker from "../forms/instancePicker"; +import conditional from "../forms/conditional"; +import ExtensionView from "../components/extensionView"; +import render from "../render"; +import useFocusFirstError from "../utils/useFocusFirstError"; +import textField from "../forms/textField"; +import mediaEventTypes from "./constants/mediaEventTypes"; +import numberField from "../forms/numberField"; +import dataElementSection from "../forms/dataElementSection"; +import checkbox from "../forms/checkbox"; +import objectArray from "../forms/objectArray"; +import section from "../forms/section"; +import dataElement from "../forms/dataElement"; +import mediaStates from "./constants/mediaStates"; +import mediaContentTypes from "./constants/mediaContentTypes"; +import mediaShowTypes from "./constants/mediaShowTypes"; +import configOverrides from "../forms/configOverrides"; +import { FIELD_NAMES } from "../components/overrides/utils"; +import requiredComponent from "../forms/requiredComponent"; + +const getSortedInputItems = (mapItems) => { + return Object.keys(mapItems) + .reduce((items, key) => { + items.push({ value: key, label: mapItems[key] }); + return items; + }, []) + .sort((a, b) => a.label.localeCompare(b.label)); +}; + +const wrapGetInitialValues = + (getInitialValues) => + ({ initInfo }) => { + const { + eventType, + playerId, + handleMediaSessionAutomatically = false, + instanceName = initInfo.extensionSettings.instances[0].name, + xdm = {}, + edgeConfigOverrides, + } = initInfo.settings || {}; + + const { mediaCollection = {} } = xdm; + + const instanceSettings = initInfo.extensionSettings.instances.find( + (instance) => instance.name === instanceName, + ); + const { + playhead, + qoeDataDetails, + advertisingDetails = { + playerName: instanceSettings?.streamingMedia?.playerName || "", + }, + chapterDetails, + advertisingPodDetails, + sessionDetails = { + channel: instanceSettings?.streamingMedia?.channel || "", + playerName: instanceSettings?.streamingMedia?.playerName || "", + appVersion: instanceSettings?.streamingMedia?.appVersion || "", + }, + errorDetails, + customMetadata, + statesEnd, + statesStart, + } = mediaCollection; + + if (eventType === "media.sessionStart") { + sessionDetails.channel = instanceSettings?.streamingMedia?.channel || ""; + sessionDetails.playerName = + instanceSettings?.streamingMedia?.playerName || ""; + sessionDetails.appVersion = + instanceSettings?.streamingMedia?.appVersion || ""; + } + + if (eventType === "media.adStart") { + advertisingDetails.playerName = + instanceSettings?.streamingMedia?.playerName || ""; + } + + return getInitialValues({ + initInfo: { + ...initInfo, + settings: { + eventType, + playerId, + instanceName, + handleMediaSessionAutomatically, + edgeConfigOverrides, + playhead, + qoeDataDetails, + chapterDetails, + advertisingDetails, + advertisingPodDetails, + errorDetails, + sessionDetails, + customMetadata, + statesEnd, + statesStart, + }, + }, + }); + }; + +const wrapGetSettings = + (getSettings) => + ({ values }) => { + const { + instanceName, + handleMediaSessionAutomatically = false, + playerId, + eventType, + playhead, + qoeDataDetails, + statesEnd, + statesStart, + chapterDetails, + advertisingPodDetails, + advertisingDetails, + errorDetails, + sessionDetails, + customMetadata, + edgeConfigOverrides, + } = getSettings({ values }); + + const settings = { + eventType, + instanceName, + playerId, + handleMediaSessionAutomatically, + edgeConfigOverrides, + }; + const mediaCollection = {}; + + mediaCollection.playhead = playhead; + + if (qoeDataDetails) { + mediaCollection.qoeDataDetails = qoeDataDetails; + } + if (chapterDetails) { + mediaCollection.chapterDetails = chapterDetails; + } + if (advertisingDetails) { + mediaCollection.advertisingDetails = advertisingDetails; + mediaCollection.advertisingDetails.playerName = undefined; + } + if (advertisingPodDetails) { + mediaCollection.advertisingPodDetails = advertisingPodDetails; + } + if (errorDetails) { + mediaCollection.errorDetails = errorDetails; + } + if (sessionDetails) { + mediaCollection.sessionDetails = sessionDetails; + mediaCollection.sessionDetails.playerName = undefined; + mediaCollection.sessionDetails.appVersion = undefined; + mediaCollection.sessionDetails.channel = undefined; + } + + if (customMetadata) { + mediaCollection.customMetadata = customMetadata; + } + + if (!isEmptyArray(statesEnd)) { + mediaCollection.statesEnd = statesEnd; + } + + if (!isEmptyArray(statesStart)) { + mediaCollection.statesStart = statesStart; + } + + settings.xdm = { + eventType, + mediaCollection, + }; + + return settings; + }; + +const hideFields = [ + FIELD_NAMES.sandbox, + FIELD_NAMES.idSyncContainerOverride, + FIELD_NAMES.targetPropertyTokenOverride, +]; +const configOverrideFields = configOverrides(hideFields); + +const advertisingPodDetailsSection = dataElementSection( + { + label: "Advertising pod details", + name: "advertisingPodDetails", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/advertising-pod-details-collection", + objectKey: "advertisingPodDetails", + dataElementDescription: + "Provide a data element that returns advertising pod details object.", + }, + [ + textField({ + name: "friendlyName", + label: "Ad break name", + description: "The friendly name of the Ad Break.", + }), + numberField({ + name: "offset", + label: "Ad break offset (seconds)", + isRequired: true, + description: "The offset of the ad break inside the content, in seconds.", + dataElementDescription: "Provide a data element that returns an integer.", + }), + numberField({ + name: "index", + label: "Ad break index", + isRequired: true, + description: + "The index of the ad break inside the content starting at 1.", + dataElementDescription: "Provide a data element that returns an integer.", + }), + ], +); +const customMetadataSection = section( + { + label: "Custom metadata", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/custom-metadata-details-collection", + }, + [ + objectArray( + { + name: "customMetadata", + ariaLabel: "Custom metadata", + singularLabel: "Custom Metadata", + dataElementDescription: + "Provide a data element that resolves to an array of objects with properties 'name' and 'value'.", + objectLabelPlural: "Custom Metadata", + }, + [ + textField({ + name: "name", + label: "Name", + description: "Enter metadata name.", + }), + textField({ + name: "value", + label: "Value", + description: "Enter metadata value.", + }), + ], + ), + ], +); +const chapterSection = dataElementSection( + { + label: "Chapter details", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/chapter-details-collection", + name: "chapterDetails", + objectKey: "chapterDetails", + dataElementDescription: + "Provide a data element that returns a chapter details object.", + }, + [ + textField({ + name: "friendlyName", + label: "Chapter name", + description: "The name of the chapter and/or segment.", + }), + numberField({ + name: "length", + label: "Chapter length", + isRequired: true, + description: "The length of the chapter, in seconds.", + dataElementDescription: + "Provide a data element that returns a integer length.", + }), + numberField({ + name: "index", + label: "Chapter index", + isRequired: true, + description: + "The position (index, integer) of the chapter inside the content.", + dataElementDescription: + "Provide a data element that returns the position of the chapter inside the content (index, integer).", + }), + numberField({ + name: "offset", + label: "Chapter offset", + isRequired: true, + description: + "The offset of the chapter inside the content (in seconds) from the start.", + dataElementDescription: + "Provide a data element that returns an integer representing offset of the chapter inside the content (in seconds) from the start.", + }), + ], +); +const advertisingDetailsSection = dataElementSection( + { + label: "Advertising details", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/advertising-details-collection", + name: "advertisingDetails", + dataElementDescription: + "Provide a data element that returns advertising details object.", + objectKey: "advertisingDetails", + }, + [ + textField({ + name: "friendlyName", + label: "Ad name", + description: "Friendly name of the ad.", + }), + textField({ + name: "name", + label: "Ad ID", + isRequired: true, + description: "ID of the ad. (Any integer and/or letter combination).", + }), + numberField({ + name: "length", + label: "Ad length (seconds)", + isRequired: true, + description: "Length of the video ad in seconds.", + dataElementDescription: "Provide a data element that returns an integer.", + }), + textField({ + name: "advertiser", + label: "Advertiser", + description: "Company/brand whose product is featured in the ad.", + }), + textField({ + name: "campaignID", + label: "Campaign ID", + description: "ID of the ad campaign.", + }), + textField({ + name: "creativeID", + label: "Creative ID", + description: "ID of the ad creative.", + }), + textField({ + name: "creativeURL", + label: "Creative URL", + description: "URL of the ad creative.", + }), + textField({ + name: "placementID", + label: "Placement ID", + description: "Placement ID of the ad.", + }), + textField({ + name: "siteID", + label: "Site ID", + description: "ID of the ad site.", + }), + numberField({ + name: "podPosition", + label: "Pod position", + isRequired: true, + description: + "The position (index) of the ad inside the parent ad break. The first ad has index 0, the second ad has index 1 etc.", + dataElementDescription: "Provide a data element that returns an integer.", + }), + textField({ + name: "playerName", + label: "Ad player name", + description: + "The name of the player responsible for rendering the ad. To modify, update the extension configuration.", + dataElementSupported: false, + isDisabled: true, + }), + ], +); +const errorDetailsSection = dataElementSection( + { + label: "Error details", + name: "errorDetails", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/error-details-collection", + dataElementDescription: + "Provide a data element that returns an error details object.", + objectKey: "errorDetails", + }, + [ + textField({ + name: "name", + label: "Error name", + isRequired: true, + description: "Enter the error name.", + }), + textField({ + name: "source", + label: "Source", + isRequired: true, + description: "Enter the error source.", + }), + ], +); +const stateUpdateDetailsSection = section({ label: "State Update Details" }, [ + objectArray( + { + name: "statesStart", + label: "States started", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/list-of-states-start-collection", + singularLabel: "State that started", + description: "Create an array of states that started.", + dataElementDescription: + "Provide a data element that returns an array of states that started.", + validationSchema: string(), + }, + [ + comboBox({ + name: "name", + items: getSortedInputItems(mediaStates), + label: + "Select one of the standard states or enter a custom state that started.", + allowsCustomValue: true, + }), + ], + ), + objectArray( + { + name: "statesEnd", + label: "States ended", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/list-of-states-end-collection", + singularLabel: "State that ended", + description: "Create an array of states that ended.", + dataElementDescription: + "Provide a data element that returns an array of states that ended.", + validationSchema: string(), + }, + [ + comboBox({ + name: "name", + items: getSortedInputItems(mediaStates), + label: + "Select one of the standard states or enter a custom state that ended.", + allowsCustomValue: true, + }), + ], + ), +]); +const sessionDetailsSection = dataElementSection( + { + label: "Media session details", + learnMoreUrl: + "https://experienceleague.adobe.com/en/docs/experience-platform/xdm/data-types/session-details-collection", + name: "sessionDetails", + dataElementDescription: + "Provide a data element that returns a session details object.", + objectKey: "sessionDetails", + }, + [ + comboBox({ + name: "contentType", + label: "Content type", + isRequired: true, + description: + "Enter the content type of the media session. Select a predefined value or enter a custom value.", + dataElementDescription: + "Provide a data element that returns to a content type.", + items: getSortedInputItems(mediaContentTypes), + allowsCustomValue: true, + }), + textField({ + name: "channel", + label: "Channel", + isDisabled: true, + description: + "Distribution station or channels where the content is played. To modify, update the extension configuration.", + dataElementSupported: false, + }), + numberField({ + name: "length", // integer + label: "Clip length/runtime (seconds)", + isRequired: true, + description: + "This is the maximum length (or duration) of the content being consumed (in seconds)." + + "\nImportant: This property is used to compute several metrics, such as progress tracking metrics and Average Minute Audience. If this is not set, or not greater than zero, then these metrics are not available. \n" + + "For Live media with an unknown duration, the value of 86400 is the default.", + dataElementDescription: "This data element should resolve to a number.", + }), + textField({ + name: "name", + label: "Content ID", + isRequired: true, + description: + "Content ID of the content, which can be used to tie back to other industry / CMS IDs.", + }), + textField({ + name: "playerName", + label: "Content player name", + dataElementSupported: false, + isDisabled: true, + description: + "The name of the player responsible for playing the media. To modify, update the extension configuration.", + }), + comboBox({ + name: "adLoad", + label: "Ad load type", + isRequired: false, + description: "Select the type of ad loaded. ", + dataElementDescription: + "Provide a data element that returns the type of ad loaded.", + items: [ + { value: "1", label: "Ads same as TV" }, + { value: "2", label: "Other (custom/dynamic ads)" }, + ], + allowsCustomValue: false, + }), + textField({ + name: "album", + label: "Album", + isRequired: false, + description: "The author of the content.", + }), + textField({ + name: "appVersion", + label: "Application version", + description: + "The SDK version used by the player. This could have any custom value that makes sense for your player. To modify, update the extension configuration.", + dataElementSupported: false, + isDisabled: true, + }), + textField({ + name: "artist", + label: "Artist", + isRequired: false, + description: "Artist's name.", + }), + textField({ + name: "assetID", + label: "Asset ID", + isRequired: false, + description: + "This is the unique identifier for the content of the media asset, such as the TV series episode identifier, " + + "movie asset identifier, or live event identifier. Typically these IDs are derived from metadata authorities " + + "such as EIDR, TMS/Gracenote, or Rovi. These identifiers can also be from other proprietary or in-house systems.", + }), + textField({ + name: "author", + label: "Author", + isRequired: false, + description: "Name of the author (of an audiobook).", + }), + textField({ + name: "authorized", + label: "Authorized", + isRequired: false, + description: "The user has been authorized via Adobe authentication.", + }), + textField({ + name: "dayPart", + label: "Day Part", + isRequired: false, + description: + "A property that defines the time of the day when the content was broadcast or played. This could have " + + "any value set as necessary by customers.", + }), + textField({ + name: "episode", + label: "Episode", + isRequired: false, + description: "Episode number.", + }), + textField({ + name: "feed", + label: "Feed type", + isRequired: false, + description: "Type of feed.", + }), + textField({ + name: "firstAirDate", + label: "First air date", + isRequired: false, + description: + "The date when the content first aired on television. Any date format is acceptable, but Adobe recommends: YYYY-MM-DD.", + }), + textField({ + name: "firstDigitalDate", + label: "First digital date", + isRequired: false, + description: + "The date when the content first aired on any digital channel or platform. Any date format is " + + "acceptable but Adobe recommends: YYYY-MM-DD.", + }), + textField({ + name: "friendlyName", + label: "Content name", + isRequired: false, + description: + "This is the “friendly” (human-readable) name of the content.", + }), + textField({ + name: "genre", + label: "Genre", + isRequired: false, + description: + "Type or grouping of content as defined by content producer. Values should be comma delimited in variable " + + "implementation. In reporting, the list eVar will split each value into a line item, " + + "with each line item receiving equal metrics weight.", + }), + textField({ + name: "label", + label: "Label", + isRequired: false, + description: "Name of the record label.", + }), + textField({ + name: "rating", + label: "Rating", + isRequired: false, + description: "Rating as defined by TV Parental Guidelines.", + }), + textField({ + name: "mvpd", + label: "MVPD", + isRequired: false, + description: "MVPD provided via Adobe authentication.", + }), + textField({ + name: "network", + label: "Network", + isRequired: false, + description: "The network/channel name.", + }), + textField({ + name: "originator", + label: "Originator", + isRequired: false, + description: "Creator of the content.", + }), + textField({ + name: "publisher", + label: "Publisher", + isRequired: false, + description: "Name of the audio content publisher.", + }), + textField({ + name: "season", + label: "Season", + isRequired: false, + description: + "The season number the show belongs to. Season Series is required only if the show is part of a series.", + }), + textField({ + name: "show", + label: "Show", + isRequired: false, + description: + "Program/series name. Program name is required only if the show is part of a series.", + }), + comboBox({ + name: "showType", + label: "Show type", + description: + "Type of content, expressed as an integer between 0 and 3. Select a predefined value or enter a custom value.", + dataElementDescription: + "Provide a data element that returns a show type.", + items: getSortedInputItems(mediaShowTypes), + allowsCustomValue: true, + }), + textField({ + name: "streamType", // add here types of stream audio - video + label: "Stream type", + isRequired: false, + description: "Identifies the stream type.", + }), + textField({ + name: "streamFormat", + label: "Stream format", + isRequired: false, + description: "Format of the stream (HD, SD).", + }), + textField({ + name: "station", + label: "Station", + isRequired: false, + description: "Name / ID of the radio station.", + }), + ], +); + +const eventBasedDetailFormConditionals = [ + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.adBreakStart", + }, + [advertisingPodDetailsSection], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.adStart", + }, + [advertisingDetailsSection, customMetadataSection], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.chapterStart", + }, + [chapterSection, customMetadataSection], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.error", + }, + [errorDetailsSection], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.statesUpdate", + }, + [stateUpdateDetailsSection], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.sessionStart", + }, + [ + sessionDetailsSection, + customMetadataSection, + dataElement({ + name: "qoeDataDetails", + label: "Quality of Experience data", + description: + "This data element should resolve to a Quality of Experience object. This object should contain the following " + + "properties: 'bitrate', 'droppedFrames', 'framesPerSecond', 'timeToStart'. These properties represent " + + "the bitrate in kbps, the number of dropped frames, the frames per second, and the time to start in " + + "milliseconds, respectively. You can use a Media:Quality of Experience data element or a custom code " + + "data element to provide this information.", + tokenize: false, + }), + configOverrideFields, + ], + ), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.bitrateChange", + }, + [ + dataElement({ + name: "qoeDataDetails", + label: "Quality of experience data", + description: + "This data element should resolve to a Quality of Experience object. This object should contain the following " + + "properties: 'bitrate', 'droppedFrames', 'framesPerSecond', 'timeToStart'. These properties represent " + + "the bitrate in kbps, the number of dropped frames, the frames per second, and the time to start in " + + "milliseconds, respectively. You can use a Media:Quality of Experience data element or a custom code " + + "data element to provide this information.", + tokenize: false, + }), + ], + ), +]; + +const onInstanceChange = ({ context, instanceName, initInfo }) => { + const extensionSettings = initInfo.extensionSettings; + const instanceSettings = extensionSettings.instances.find( + (instance) => instance.name === instanceName, + ); + + context.setFieldValue( + `sessionDetails.channel`, + instanceSettings.streamingMedia.channel || "", + true, + ); + context.setFieldValue( + `sessionDetails.playerName`, + instanceSettings.streamingMedia.playerName || "", + true, + ); + context.setFieldValue( + `sessionDetails.appVersion`, + instanceSettings.streamingMedia.appVersion || "", + true, + ); + context.setFieldValue( + `advertisingDetails.playerName`, + instanceSettings.streamingMedia.playerName || "", + true, + ); +}; + +const sendEventForm = requiredComponent( + { + wrapGetInitialValues, + wrapGetSettings, + requiredComponent: "streamingMedia", + title: "the Send streaming media event action", + whole: true, + }, + [ + instancePicker({ name: "instanceName", onInstanceChange }), + comboBox({ + name: "eventType", + label: "Media event type", + description: "Select your media event type.", + isRequired: true, + items: getSortedInputItems(mediaEventTypes), + }), + textField({ + name: "playerId", + label: "Player ID", + isRequired: true, + description: "Enter a name to represent this player.", + }), + conditional( + { + args: "eventType", + condition: (eventType) => eventType === "media.sessionStart", + }, + [ + checkbox({ + name: "handleMediaSessionAutomatically", + label: "Handle media session automatically", + description: + "Choose 'Handle media session automatically' if you want the Web SDK to send necessary pings automatically. If you prefer to have more control and manually manage sending pings, you can deselect this option.", + isRequired: false, + }), + dataElement({ + name: "playhead", + label: "Playhead", + isRequired: true, + description: + "Provide a data element that returns the playback playhead in seconds.", + tokenize: false, + }), + ], + ), + ...eventBasedDetailFormConditionals, + ], +); + +const FormComponent = (props) => { + useFocusFirstError(); + const { Component } = sendEventForm; + return ; +}; + +FormComponent.propTypes = { + initInfo: PropTypes.object, + formikProps: PropTypes.object, + namePrefix: PropTypes.string, + horizontal: PropTypes.bool, +}; + +const FormExtensionView = () => { + const { getInitialValues, getSettings, getValidationShape } = sendEventForm; + + const getValidationSchema = ({ initInfo }) => { + const shape = getValidationShape({ initInfo, existingValidationShape: {} }); + return object().shape(shape); + }; + + return ( + } + /> + ); +}; + +render(FormExtensionView); diff --git a/packages/reactor-extension/src/view/actions/setConsent.html b/packages/reactor-extension/src/view/actions/setConsent.html new file mode 100644 index 000000000..5891e22d1 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/setConsent.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/setConsent.jsx b/packages/reactor-extension/src/view/actions/setConsent.jsx new file mode 100644 index 000000000..f864b6e57 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/setConsent.jsx @@ -0,0 +1,469 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import PropTypes from "prop-types"; +import { FieldArray } from "formik"; +import { object, string, array, mixed } from "yup"; +import { Item, Radio, Button, Well, Text, Flex } from "@adobe/react-spectrum"; +import Delete from "@spectrum-icons/workflow/Delete"; +import render from "../render"; +import ExtensionView from "../components/extensionView"; +import singleDataElementRegex from "../constants/singleDataElementRegex"; +import { DATA_ELEMENT_REQUIRED } from "../constants/validationErrorMessages"; +import FormikRadioGroupWithDataElement, { + createRadioGroupWithDataElementValidationSchema, +} from "../components/formikReactSpectrum3/formikRadioGroupWithDataElement"; +import FormikPicker from "../components/formikReactSpectrum3/formikPicker"; +import FormikTextField from "../components/formikReactSpectrum3/formikTextField"; +import FormikRadioGroup from "../components/formikReactSpectrum3/formikRadioGroup"; +import DataElementSelector from "../components/dataElementSelector"; +import FormElementContainer from "../components/formElementContainer"; +import InstanceNamePicker from "../components/instanceNamePicker"; +import Overrides, { bridge as overridesBridge } from "../components/overrides"; +import getEdgeConfigIds from "../utils/getEdgeConfigIds"; +import RequiredComponent from "../components/requiredComponent"; +import getRequiredComponentSchema from "../configuration/utils/getRequiredComponentSchema"; + +const FORM = { value: "form", label: "Fill out a form" }; +const DATA_ELEMENT = { value: "dataElement", label: "Provide a data element" }; +const ADOBE = { value: "adobe", label: "Adobe" }; +const IAB_TCF = { value: "iab_tcf", label: "IAB TCF" }; +const VERSION_1_0 = { value: "1.0", label: "1.0" }; +const VERSION_2_0 = { value: "2.0", label: "2.0" }; + +const createBlankConsentObject = () => { + return { + standard: "adobe", + adobeVersion: "1.0", + iabVersion: "2.0", + general: "in", + value: "", + iabValue: "", + gdprApplies: true, + gdprContainsPersonalData: false, + }; +}; + +const getInitialValues = ({ initInfo }) => { + const { + instanceName = initInfo.extensionSettings?.instances?.[0]?.name, + identityMap = "", + consent, + edgeConfigOverrides, + } = initInfo.settings || {}; + + const initialValues = { + instanceName, + identityMap, + ...overridesBridge.getInitialInstanceValues({ + instanceSettings: { edgeConfigOverrides }, + }), + }; + + if (typeof consent === "string") { + initialValues.inputMethod = DATA_ELEMENT.value; + initialValues.dataElement = consent; + initialValues.consent = [createBlankConsentObject()]; + } else if (Array.isArray(consent)) { + initialValues.inputMethod = FORM.value; + initialValues.dataElement = ""; + initialValues.consent = consent.reduce((memo, consentObject) => { + const formikConsentObject = createBlankConsentObject(); + if (consentObject.standard === ADOBE.label) { + formikConsentObject.standard = ADOBE.value; + if (consentObject.version) { + formikConsentObject.adobeVersion = consentObject.version; + } + if (consentObject.value && consentObject.value.general) { + formikConsentObject.general = consentObject.value.general; + } else if (consentObject.value) { + formikConsentObject.value = consentObject.value; + } + } else if (consentObject.standard === IAB_TCF.label) { + formikConsentObject.standard = IAB_TCF.value; + if (consentObject.version) { + formikConsentObject.iabVersion = consentObject.version; + } + if (consentObject.value) { + formikConsentObject.iabValue = consentObject.value; + } + if (consentObject.gdprApplies != null) { + formikConsentObject.gdprApplies = consentObject.gdprApplies; + } + if (consentObject.gdprContainsPersonalData != null) { + formikConsentObject.gdprContainsPersonalData = + consentObject.gdprContainsPersonalData; + } + } + memo.push(formikConsentObject); + return memo; + }, []); + } else { + initialValues.inputMethod = FORM.value; + initialValues.dataElement = ""; + initialValues.consent = [createBlankConsentObject()]; + } + return initialValues; +}; + +const getSettings = ({ values }) => { + const { instanceName, identityMap, inputMethod, dataElement, consent } = + values; + + const settings = { + instanceName, + }; + + if (identityMap) { + settings.identityMap = identityMap; + } + + const { edgeConfigOverrides } = overridesBridge.getInstanceSettings({ + instanceValues: values, + }); + + if (edgeConfigOverrides && Object.keys(edgeConfigOverrides).length > 0) { + settings.edgeConfigOverrides = edgeConfigOverrides; + } + + if (inputMethod === DATA_ELEMENT.value) { + settings.consent = dataElement; + } else { + settings.consent = consent.reduce((memo, formikConsentObject) => { + if (formikConsentObject.standard === ADOBE.value) { + if (formikConsentObject.adobeVersion === "1.0") { + memo.push({ + standard: ADOBE.label, + version: formikConsentObject.adobeVersion, + value: { + general: formikConsentObject.general, + }, + }); + } else { + memo.push({ + standard: ADOBE.label, + version: formikConsentObject.adobeVersion, + value: formikConsentObject.value, + }); + } + } else if (formikConsentObject.standard === IAB_TCF.value) { + memo.push({ + standard: IAB_TCF.label, + version: formikConsentObject.iabVersion, + value: formikConsentObject.iabValue, + gdprApplies: formikConsentObject.gdprApplies, + gdprContainsPersonalData: + formikConsentObject.gdprContainsPersonalData, + }); + } + return memo; + }, []); + } + + return settings; +}; + +const getValidationSchema = getRequiredComponentSchema("consent", () => { + return object() + .shape({ + instanceName: string().required(), + identityMap: string().matches( + singleDataElementRegex, + DATA_ELEMENT_REQUIRED, + ), + dataElement: mixed().when("inputMethod", { + is: DATA_ELEMENT.value, + then: () => + string() + .matches(singleDataElementRegex, DATA_ELEMENT_REQUIRED) + .required(DATA_ELEMENT_REQUIRED), + }), + consent: array().when("inputMethod", { + is: FORM.value, + then: (schema) => + schema.of( + object().shape({ + standard: string().required("Please specify a standard."), + general: mixed().when(["standard", "adobeVersion"], { + is: (standard, adobeVersion) => + standard === ADOBE.value && adobeVersion === "1.0", + then: () => + createRadioGroupWithDataElementValidationSchema("general"), + }), + value: mixed().when(["standard", "adobeVersion"], { + is: (standard, adobeVersion) => + standard === ADOBE.value && adobeVersion !== "1.0", + then: () => + string() + .required(DATA_ELEMENT_REQUIRED) + .matches(singleDataElementRegex, DATA_ELEMENT_REQUIRED), + }), + iabVersion: mixed().when("standard", { + is: IAB_TCF.value, + then: () => string().required("Please specify a version."), + }), + iabValue: mixed().when("standard", { + is: IAB_TCF.value, + then: () => string().required("Please specify a value."), + }), + gdprApplies: mixed().when("standard", { + is: IAB_TCF.value, + then: () => + createRadioGroupWithDataElementValidationSchema( + "gdprApplies", + ), + }), + gdprContainsPersonalData: mixed().when("standard", { + is: IAB_TCF.value, + then: () => + createRadioGroupWithDataElementValidationSchema( + "gdprContainsPersonalData", + ), + }), + }), + ), + }), + }) + .concat(overridesBridge.formikStateValidationSchema); +}); + +const ConsentObject = ({ value, index }) => { + return ( + <> + + {(item) => {item.label}} + + {value.standard === ADOBE.value && ( + + {(item) => {item.label}} + + )} + {value.standard === ADOBE.value && + value.adobeVersion === VERSION_1_0.value && ( + + + In + + + Out + + + )} + {value.standard === ADOBE.value && + value.adobeVersion !== VERSION_1_0.value && ( + + + + )} + {value.standard === IAB_TCF.value && ( + <> + + + + + + + Yes + + + No + + + + + Yes + + + No + + + + )} + + ); +}; + +ConsentObject.propTypes = { + value: PropTypes.object.isRequired, + index: PropTypes.number.isRequired, +}; + +const SetConsent = () => { + return ( + { + const { instanceName } = values; + const instanceSettings = initInfo.extensionSettings?.instances?.find( + (instance) => instance.name === instanceName, + ); + const edgeConfigIds = getEdgeConfigIds(instanceSettings); + const orgId = instanceSettings?.orgId ?? initInfo.company.orgId; + return ( + + + + + + + + + {FORM.label} + + + {DATA_ELEMENT.label} + + + {values.inputMethod === FORM.value && ( + ( + <> + + + {values.consent.map((value, index) => ( + + + + {values.consent.length > 1 && ( + + )} + + + ))} + + + )} + /> + )} + {values.inputMethod === DATA_ELEMENT.value && ( + + + + )} + + + + ); + }} + /> + ); +}; + +render(SetConsent); diff --git a/packages/reactor-extension/src/view/actions/updateVariable.html b/packages/reactor-extension/src/view/actions/updateVariable.html new file mode 100644 index 000000000..490d915e5 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/updateVariable.html @@ -0,0 +1,13 @@ + + + + + Extension View + + + +
+ + + + diff --git a/packages/reactor-extension/src/view/actions/updateVariable.jsx b/packages/reactor-extension/src/view/actions/updateVariable.jsx new file mode 100644 index 000000000..baeb13f91 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/updateVariable.jsx @@ -0,0 +1,16 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import render from "../render"; +import UpdateVariableView from "./updateVariableView"; + +render(UpdateVariableView); diff --git a/packages/reactor-extension/src/view/actions/updateVariableView.jsx b/packages/reactor-extension/src/view/actions/updateVariableView.jsx new file mode 100644 index 000000000..60b773f76 --- /dev/null +++ b/packages/reactor-extension/src/view/actions/updateVariableView.jsx @@ -0,0 +1,581 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import { useRef, useState } from "react"; +import { object } from "yup"; +import { + Item, + Flex, + ProgressCircle, + Heading, + Divider, + Text, + InlineAlert, + Content, + Link, +} from "@adobe/react-spectrum"; +import { useField } from "formik"; +import PropTypes from "prop-types"; +import ExtensionView from "../components/extensionView"; +import FormElementContainer from "../components/formElementContainer"; +import CodeField from "../components/codeField"; +import getValueFromFormState from "../components/objectEditor/helpers/getValueFromFormState"; +import fetchDataElements from "../utils/fetchDataElements"; +import fetchSchema from "../utils/fetchSchema"; +import Editor from "../components/objectEditor/editor"; +import getInitialFormState from "../components/objectEditor/helpers/getInitialFormState"; +import FormikPagedComboBox from "../components/formikReactSpectrum3/formikPagedComboBox"; +import useReportAsyncError from "../utils/useReportAsyncError"; +import fetchDataElement from "../utils/fetchDataElement"; +import useChanged from "../utils/useChanged"; +import useAbortPreviousRequestsAndCreateSignal from "../utils/useAbortPreviousRequestsAndCreateSignal"; +import generateSchemaFromSolutions from "../components/objectEditor/helpers/generateSchemaFromSolutions"; +import validate from "../components/objectEditor/helpers/validate"; +import { ARRAY, OBJECT } from "../components/objectEditor/constants/schemaType"; +import isObjectJsonEditorEmpty from "../components/objectEditor/helpers/object-json/isEditorEmpty"; +import isAnalyticsEditorEmpty from "../components/objectEditor/helpers/object-analytics/isEditorEmpty"; +import { + ADOBE_ANALYTICS, + ADOBE_AUDIENCE_MANAGER, + ADOBE_TARGET, +} from "../constants/solutions"; +import deepAssign from "../utils/deepAssign"; + +const isDataVariable = (data) => data?.settings?.solutions?.length > 0; + +const getInitialFormStateFromDataElement = async ({ + dataElement, + context, + orgId, + imsAccess, + transforms = {}, + data = {}, + existingFormStateNode, + signal, +}) => { + let value; + if (context.originalData) { + value = structuredClone(context.originalData); + deepAssign(value, data); + } else { + value = data; + } + + if ( + dataElement.settings && + dataElement.settings.schema && + dataElement.settings.schema.id && + dataElement.settings.schema.version && + dataElement.settings.sandbox && + dataElement.settings.sandbox.name + ) { + let schema; + try { + schema = await fetchSchema({ + orgId, + imsAccess, + schemaId: dataElement.settings.schema.id, + schemaVersion: dataElement.settings.schema.version, + sandboxName: dataElement.settings.sandbox.name, + signal, + }); + } catch { + context.schemaLoadFailed = true; + // If schema cannot be fetched (e.g., missing or access issue), + // allow the user to continue and select a different data element by bailing out gracefully. + return {}; + } + if (!signal || !signal.aborted) { + if (!schema) { + return {}; + } + const newSchema = { + type: "object", + properties: { + xdm: schema, + }, + $id: schema.$id, + version: schema.version, + }; + context.schema = newSchema; + context.dataElementId = dataElement.id; + context.schemaLoadFailed = false; + return getInitialFormState({ + schema: newSchema, + value, + updateMode: true, + transforms, + existingFormStateNode, + }); + } + } + if (isDataVariable(dataElement)) { + const schema = generateSchemaFromSolutions(dataElement.settings.solutions); + context.schema = schema; + context.dataElementId = dataElement.id; + + // Temporary fix to support the audienceManager property that should have been lowercased. + // eslint-disable-next-line no-underscore-dangle + const adobe = data?.data?.__adobe || {}; + if (adobe.audienceManager) { + adobe.audiencemanager = adobe.audienceManager; + delete adobe.audienceManager; + } + return getInitialFormState({ + schema, + value, + updateMode: true, + transforms, + existingFormStateNode, + }); + } + + return {}; +}; + +const getInitialValues = + (context) => + async ({ initInfo }) => { + const { + propertySettings: { id: propertyId } = {}, + company: { orgId }, + tokens: { imsAccess }, + } = initInfo; + const { + dataElementId, + transforms = {}, + schema: previouslySavedSchemaInfo, + customCode = "", + } = initInfo.settings || {}; + + let { data = {} } = initInfo.settings || {}; + + const initialValues = { + data, + customCode, + }; + + const { + results: dataElementsFirstPage, + nextPage: dataElementsFirstPageCursor, + } = await fetchDataElements({ + orgId, + imsAccess, + propertyId, + }); + + context.dataElementsFirstPage = dataElementsFirstPage; + context.dataElementsFirstPageCursor = dataElementsFirstPageCursor; + + let dataElement; + if (dataElementId) { + try { + context.previouslySavedSchemaInfo = previouslySavedSchemaInfo; + dataElement = await fetchDataElement({ + orgId, + imsAccess, + dataElementId, + }); + } catch { + // Ignore the error and let the user select the data element. + // We null out the schema because in the sandbox init can be called multiple times. + context.schema = null; + context.dataElementId = null; + } + } + if ( + !dataElement && + dataElementsFirstPage.length === 1 && + dataElementsFirstPageCursor === null + ) { + dataElement = dataElementsFirstPage[0]; + } + + initialValues.dataElement = dataElement; + + context.originalData = { xdm: data, data }; + + if (dataElement) { + const prefix = isDataVariable(dataElement) ? "data" : "xdm"; + const prefixedTransforms = Object.keys(transforms).reduce((memo, key) => { + // The key for a root element transform is "". + memo[key === "" ? prefix : `${prefix}.${key}`] = transforms[key]; + return memo; + }, {}); + + data = { [prefix]: data }; + + const initialFormState = await getInitialFormStateFromDataElement({ + dataElement, + context, + orgId, + imsAccess, + data, + transforms: prefixedTransforms, + }); + + return { ...initialValues, ...initialFormState }; + } + + return initialValues; + }; + +const getSettings = + (context) => + ({ values }) => { + const { dataElement } = values; + const { id: dataElementId } = dataElement || {}; + const transforms = {}; + + const { xdm, data } = + getValueFromFormState({ formStateNode: values, transforms }) || {}; + + const dataTransforms = Object.keys(transforms).reduce((memo, key) => { + const period = key.indexOf("."); + memo[key.substring(period === -1 ? key.length : period + 1)] = + transforms[key]; + return memo; + }, {}); + + const schema = { + id: context.schema?.$id, + version: context.schema?.version, + }; + + const response = { + dataElementId, + data: xdm || data || {}, + }; + + if (schema.id) { + response.schema = schema; + } + + if (Object.keys(dataTransforms).length > 0) { + response.transforms = dataTransforms; + } + + if (values.customCode) { + response.customCode = values.customCode; + } + + return response; + }; + +const validationSchema = object().shape({ + dataElement: object().required("Please specify a data element."), +}); + +const validateFormikState = + (context) => + ({ values }) => { + const { schema } = context; + if (!schema) { + return {}; + } + + return validate(values); + }; + +const findFirstNodeIdForDepth = (formStateNode, depth) => { + const { + schema: { type, properties: schemaProperties } = {}, + properties, + items, + id, + } = formStateNode; + if (depth > 0) { + if (type === OBJECT && properties) { + const sortedEditors = Object.keys(schemaProperties).sort(); + const editorsContainingValues = sortedEditors.filter((k) => { + const map = { + [ADOBE_ANALYTICS]: isAnalyticsEditorEmpty, + [ADOBE_TARGET]: isObjectJsonEditorEmpty, + [ADOBE_AUDIENCE_MANAGER]: isObjectJsonEditorEmpty, + }; + + if (map[k]) { + return map[k](properties[k]); + } + + return false; + }); + + let firstProperty; + + if (editorsContainingValues.length > 0) { + firstProperty = editorsContainingValues[0]; + } else { + [firstProperty] = sortedEditors; + } + + if (firstProperty) { + return findFirstNodeIdForDepth(properties[firstProperty], depth - 1); + } + } + if (type === ARRAY && items) { + const [firstItem] = items; + if (firstItem) { + return findFirstNodeIdForDepth(firstItem, depth - 1); + } + } + } + return id; +}; + +const UpdateVariable = ({ + initInfo, + formikProps: { resetForm, values }, + context, +}) => { + const { + schema, + dataElementsFirstPage, + dataElementsFirstPageCursor, + previouslySavedSchemaInfo, + } = context; + + const [{ value: dataElement }] = useField("dataElement"); + const [{ value: customCode }] = useField("customCode"); + const [hasSchema, setHasSchema] = useState(schema != null); + const [selectedNodeId, setSelectedNodeId] = useState(() => { + if (dataElement?.settings?.solutions) { + return findFirstNodeIdForDepth(values, 3); + } + return null; + }); + const abortPreviousRequestsAndCreateSignal = + useAbortPreviousRequestsAndCreateSignal(); + + const { + propertySettings: { id: propertyId } = {}, + company: { id: companyId, orgId }, + tokens: { imsAccess }, + } = initInfo; + + useChanged( + useReportAsyncError(() => { + async function reloadDataElement() { + setHasSchema(false); + setSelectedNodeId(null); + context.schemaLoadFailed = false; + + if (dataElement) { + const transforms = {}; + const signal = abortPreviousRequestsAndCreateSignal(); + const initialFormState = await getInitialFormStateFromDataElement({ + dataElement, + context, + orgId, + imsAccess, + transforms, + existingFormStateNode: values, + signal, + }); + + if (!signal.aborted) { + resetForm({ + values: { ...initialFormState, dataElement, customCode }, + }); + if (context.schema) { + setHasSchema(true); + } + } + + if (isDataVariable(dataElement)) { + setSelectedNodeId(findFirstNodeIdForDepth(initialFormState, 3)); + } + } + } + reloadDataElement(); + }), + [dataElement], + ); + + const isSchemaMatched = context.dataElementId === dataElement?.id; + + const loadItems = useReportAsyncError( + async ({ filterText, cursor, signal }) => { + const { results, nextPage } = await fetchDataElements({ + orgId, + imsAccess, + propertyId, + search: filterText, + page: cursor || 1, + signal, + }); + + return { + items: results, + cursor: nextPage, + }; + }, + ); + + return ( + + {dataElementsFirstPage.length === 0 && ( + + Error + + No `variable` type data elements are available.{" "} + + Create a `variable` type data element first + + . + + + )} + {dataElementsFirstPage.length > 0 && ( + <> + + Learn more about the Update Variable action + + item?.name} + getLabel={(item) => item?.name} + firstPage={dataElementsFirstPage} + firstPageCursor={dataElementsFirstPageCursor} + > + {(item) => {item.name}} + + + )} + {context.schemaLoadFailed && dataElement && ( + + + The schema associated with this data element could not be loaded. + + + Either choose a new data element or update the selected data element + with a valid schema. + + + )} + {hasSchema && isSchemaMatched && ( + <> + + Variable Editor + + + + + + + Custom Code + + + + + Use this editor to set additional properties on the variable + object using custom code. The custom code will be executed after + the properties defined inside the variable editor are applied to + the variable.
+
+ The following variables are available for use within your custom + code: +
    +
  • content - The variable object.
  • +
  • + event - The underlying event object that caused this rule to + fire. +
  • +
+ + } + language="javascript" + placeholder={ + "// Modify content as necessary. There is no need to wrap the code in a function or return a value." + + "\n\n// For example if you are updating an XDM Variable Data Element, you can set the page name by writing:" + + "\n\n// content.web = content.web || {};" + + "\n// content.web.webPageDetails = content.web.webPageDetails || {};" + + '\n// content.web.webPageDetails.name = "Home";' + + "\n\n// If you are updating a Data Variable Data Element you can update an Analytics page name by writing:" + + "\n\n// content.__adobe = content.__adobe || { };" + + "\n// content.__adobe.analytics = content.__adobe.analytics || { };" + + '\n// content.__adobe.analytics.eVar5 = "Test";' + } + /> + + )} + {!(hasSchema && isSchemaMatched) && + dataElement && + !context.schemaLoadFailed && ( + + + + )} +
+ ); +}; + +UpdateVariable.propTypes = { + context: PropTypes.object, + initInfo: PropTypes.object, + formikProps: PropTypes.object, +}; + +const UpdateVariableView = () => { + const { current: context } = useRef({}); + + return ( + { + return ; + }} + /> + ); +}; + +export default UpdateVariableView; diff --git a/packages/reactor-extension/src/view/components/alert.css b/packages/reactor-extension/src/view/components/alert.css new file mode 100644 index 000000000..65fd02160 --- /dev/null +++ b/packages/reactor-extension/src/view/components/alert.css @@ -0,0 +1,35 @@ +.Alert { + box-sizing: border-box; + border: 2px solid; + border-radius: 4px; + padding: 24px; +} +.Alert--neutral { + border-color: var(--spectrum-global-color-static-gray-600); +} +.Alert--informative { + border-color: var(--spectrum-semantic-informative-color-default); +} +.Alert--positive { + border-color: var(--spectrum-semantic-positive-color-default); +} +.Alert--notice { + border-color: var(--spectrum-semantic-notice-color-default); +} +.Alert--negative { + border-color: var(--spectrum-semantic-negative-color-default); +} + +.Alert-description { + color: var(--spectrum-alias-label-text-color, var(--spectrum-global-color-gray-700)); + + /* Paragraph elements (and possibly other elements?) will add block margin + on the top and bottom, which provides too much spacing. */ + > :first-child { + margin-block-start: 0; + } + + > :last-child { + margin-block-end: 0; + } +} diff --git a/packages/reactor-extension/src/view/components/alert.jsx b/packages/reactor-extension/src/view/components/alert.jsx new file mode 100644 index 000000000..bf17e9b18 --- /dev/null +++ b/packages/reactor-extension/src/view/components/alert.jsx @@ -0,0 +1,70 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import classNames from "classnames"; +import { Flex } from "@adobe/react-spectrum"; +import AlertIcon from "@spectrum-icons/workflow/Alert"; +import InfoIcon from "@spectrum-icons/workflow/Info"; +import CheckmarkCircle from "@spectrum-icons/workflow/CheckmarkCircle"; +import "./alert.css"; +import PropTypes from "prop-types"; +import Heading from "./typography/heading"; + +const iconByVariant = { + neutral: () => { + return null; + }, + informative: InfoIcon, + positive: CheckmarkCircle, + notice: AlertIcon, + negative: AlertIcon, +}; + +const Alert = ({ + variant = "neutral", + title, + children, + className, + ...otherProps +}) => { + const Icon = iconByVariant[variant]; + return ( + + + {title} + + +
{children}
+
+ ); +}; + +Alert.propTypes = { + variant: PropTypes.oneOf([ + "neutral", + "informative", + "positive", + "notice", + "negative", + ]), + title: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, + width: PropTypes.string, + className: PropTypes.string, +}; + +export default Alert; diff --git a/packages/reactor-extension/src/view/components/betaBadge.jsx b/packages/reactor-extension/src/view/components/betaBadge.jsx new file mode 100644 index 000000000..030537560 --- /dev/null +++ b/packages/reactor-extension/src/view/components/betaBadge.jsx @@ -0,0 +1,34 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +import { Badge } from "@adobe/react-spectrum"; +import PropTypes from "prop-types"; + +const betaBadge = ({ isDisabled }) => { + const styles = { + padding: "0", + }; + if (isDisabled) { + styles.backgroundColor = "var(--spectrum-alias-text-color-disabled)"; + } + + return ( + + Beta + + ); +}; + +betaBadge.propTypes = { + isDisabled: PropTypes.bool, +}; + +export default betaBadge; diff --git a/packages/reactor-extension/src/view/components/betaNotice.jsx b/packages/reactor-extension/src/view/components/betaNotice.jsx new file mode 100644 index 000000000..ee1d99c7c --- /dev/null +++ b/packages/reactor-extension/src/view/components/betaNotice.jsx @@ -0,0 +1,32 @@ +/* +Copyright 2023 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import PropTypes from "prop-types"; +import { InlineAlert, Heading, Content } from "@adobe/react-spectrum"; + +const BetaNotice = ({ componentName }) => { + return ( + + Beta feature + + This {componentName} is a beta feature while the development team + gathers feedback. Future versions may contain breaking changes. + + + ); +}; + +BetaNotice.propTypes = { + componentName: PropTypes.string.isRequired, +}; + +export default BetaNotice; diff --git a/packages/reactor-extension/src/view/components/clearButton.jsx b/packages/reactor-extension/src/view/components/clearButton.jsx new file mode 100644 index 000000000..969332b59 --- /dev/null +++ b/packages/reactor-extension/src/view/components/clearButton.jsx @@ -0,0 +1,43 @@ +/* +Copyright 2025 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import { TooltipTrigger, ActionButton, Tooltip } from "@adobe/react-spectrum"; +import Delete from "@spectrum-icons/workflow/Delete"; +import PropTypes from "prop-types"; + +const ClearButton = ({ value, setValue, marginTop }) => { + return ( + + { + setValue(""); + }} + isDisabled={!value} + aria-label="Clear value" + > + + + Clear + + ); +}; + +ClearButton.propTypes = { + value: PropTypes.string.isRequired, + setValue: PropTypes.func.isRequired, + marginTop: PropTypes.string, +}; + +export default ClearButton; diff --git a/packages/reactor-extension/src/view/components/codeField.jsx b/packages/reactor-extension/src/view/components/codeField.jsx new file mode 100644 index 000000000..8453c8cc4 --- /dev/null +++ b/packages/reactor-extension/src/view/components/codeField.jsx @@ -0,0 +1,102 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import { useField } from "formik"; +import PropTypes from "prop-types"; +import { ActionButton, Flex, Text } from "@adobe/react-spectrum"; +import CodePreview from "./codePreview"; + +/** + * A button that, when clicked, opens the Launch code editor + * which allows the user to edit code. When the user + * closes the editor, this calls onChange with the updated + * code. + */ +const CodeField = ({ + "data-test-id": dataTestId, + "aria-label": ariaLabel, + label, + buttonLabelSuffix, + name, + description, + language, + placeholder, + beta, +}) => { + const [{ value }, { touched, error }, { setValue, setTouched }] = + useField(name); + + const onPress = async () => { + setTouched(true); + + const options = { + code: value || placeholder || "", + }; + + if (language) { + options.language = language; + } + + // This returns undefined when the user clicks cancel. + let updatedCode = await window.extensionBridge.openCodeEditor(options); + if (updatedCode === undefined) { + return; + } + + // If the user never changed placeholder code, don't save the placeholder code. + if (placeholder && updatedCode === placeholder) { + updatedCode = ""; + } + setValue(updatedCode); + }; + + return ( + + + {value && ( + { + setValue(""); + }} + marginTop={23} + > + Clear + + )} + + ); +}; + +CodeField.propTypes = { + "data-test-id": PropTypes.string, + "aria-label": PropTypes.string, + label: PropTypes.string, + buttonLabelSuffix: PropTypes.string, + name: PropTypes.string.isRequired, + description: PropTypes.node, + beta: PropTypes.bool, + language: PropTypes.string, + placeholder: PropTypes.string, +}; + +export default CodeField; diff --git a/packages/reactor-extension/src/view/components/codePreview.css b/packages/reactor-extension/src/view/components/codePreview.css new file mode 100644 index 000000000..02e85fe9a --- /dev/null +++ b/packages/reactor-extension/src/view/components/codePreview.css @@ -0,0 +1,44 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +.CodePreview-textArea textarea { + font-size: 12px; + font-family: monospace; + white-space: pre; + overflow: hidden !important; +} + +.CodePreview-textArea--invalid textarea:disabled { + border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-semantic-negative-color-default)); +} + +.CodePreview-openEditorButton { + position: absolute !important; + /* The TextArea component has been given a specific + height, but that height includes the label as well. + we want the button to be centered within the underlying + textarea DOM element that's showing the code. */ + top: 87px; + left: 50%; + transform: translate(-50%, -50%); + white-space: nowrap; +} + +/* This is a workaround for a react-spectrum bug */ +/* https://github.com/adobe/react-spectrum/issues/2475 */ +.CodePreview-textArea { + + &>div, + & .spectrum-Field-field--multiline { + flex: 1 1 auto !important; + } +} diff --git a/packages/reactor-extension/src/view/components/codePreview.jsx b/packages/reactor-extension/src/view/components/codePreview.jsx new file mode 100644 index 000000000..ecc054633 --- /dev/null +++ b/packages/reactor-extension/src/view/components/codePreview.jsx @@ -0,0 +1,81 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +import PropTypes from "prop-types"; +import { + ActionButton, + LabeledValue, + Text, + TextArea, + View, +} from "@adobe/react-spectrum"; +import CodeIcon from "@spectrum-icons/workflow/Code"; +import FieldDescriptionAndError from "./fieldDescriptionAndError"; +import "./codePreview.css"; +import BetaBadge from "./betaBadge"; + +const CodePreview = ({ + "data-test-id": dataTestId, + "aria-label": ariaLabel, + label, + buttonLabel, + value, + description, + error, + onPress, + beta, +}) => { + const classNames = ["CodePreview-textArea"]; + if (error) { + classNames.push("CodePreview-textArea--invalid"); + } + + return ( + + + {beta && } + +