From d8e9a398b808d89222ad7eaba2c66040a9d79570 Mon Sep 17 00:00:00 2001
From: soumyadebroy3 <43921833+soumyadebroy3@users.noreply.github.com>
Date: Thu, 23 Jul 2026 13:31:27 +0530
Subject: [PATCH 1/2] =?UTF-8?q?release:=20v2.5.0=20=E2=80=94=20upstream=20?=
=?UTF-8?q?parity,=20device=20sharing,=20web=20dashboard?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Major upstream-parity release. Adds new providers and cost-accuracy fixes,
the context/acting features, and two greenfield subsystems — opt-in LAN
device sharing (mutual-TLS) and a loopback-only web dashboard. Nothing
network-facing is on by default.
- Device sharing: `codeburn share` / `codeburn devices`, mDNS discovery,
mutual-TLS + trust-on-first-use cert pinning, 6-digit PIN and approve-style
matching-code pairing, bearer tokens bound to the peer cert. Only sanitized
aggregates leave the machine — never project names, paths, or session detail.
- Web dashboard: `codeburn web`, loopback-only (127.0.0.1, Host/Origin-guarded)
React SPA with a granular usage timeline and By Tool / Top Projects / Model
Efficiency / Skills / MCP / Subagents panels plus a context explorer.
- Context token breakdown, acting layer (optimize --apply, act list|undo|report),
overview/audit/price-override commands, Codex credits + a menubar credits hero,
Lifetime (all-time) period, and new providers (Grok, zcode, Hermes, Open
Design, Zed, LingTai, Devin, ZeroStack). Cursor real composer-context tokens.
- Security: pairing confirmation code widened 3 -> 6 digits (collision-resistant);
manual host+PIN pairing warns to verify the typed address.
tsc clean, 1121 tests pass, Swift menubar and web SPA build.
---
CHANGELOG.md | 50 +
README.md | 9 +
dash/index.html | 13 +
dash/package-lock.json | 2949 +++++++++++++++++
dash/package.json | 30 +
dash/public/codeburn-logo.png | Bin 0 -> 127999 bytes
dash/src/App.tsx | 717 ++++
dash/src/components/BarList.tsx | 28 +
dash/src/components/ContextExplorer.tsx | 222 ++
dash/src/components/DataTable.tsx | 38 +
dash/src/components/DeviceSearchModal.tsx | 123 +
dash/src/components/MetricCard.tsx | 24 +
dash/src/components/UsageChart.tsx | 385 +++
dash/src/components/ui/card.tsx | 6 +
dash/src/components/ui/skeleton.tsx | 5 +
dash/src/index.css | 140 +
dash/src/lib/api.ts | 299 ++
dash/src/lib/utils.ts | 69 +
dash/src/main.tsx | 47 +
dash/tsconfig.json | 23 +
dash/vite.config.ts | 25 +
docs/providers/devin.md | 191 ++
docs/providers/grok.md | 45 +
docs/providers/hermes.md | 67 +
docs/providers/lingtai-tui.md | 88 +
docs/providers/open-design.md | 54 +
docs/providers/zcode.md | 89 +
docs/providers/zed.md | 84 +
docs/providers/zerostack.md | 48 +
gnome/indicator.js | 1 +
mac/Scripts/package-app.sh | 19 +
mac/Sources/CodeBurnMenubar/AppStore.swift | 10 +-
mac/Sources/CodeBurnMenubar/CodeBurnApp.swift | 59 +-
.../CodeBurnMenubar/CurrencyState.swift | 3 +-
.../Data/ClaudeSubscriptionService.swift | 50 +-
.../CodeBurnMenubar/Data/DataClient.swift | 28 +-
.../CodeBurnMenubar/Data/MenubarPayload.swift | 9 +-
.../Data/SubscriptionUsage.swift | 10 +
.../Data/UsageRefreshCadence.swift | 42 +
.../CodeBurnMenubar/RefreshCadence.swift | 50 +
.../Security/CodeburnCLI.swift | 2 +-
.../Views/HeatmapSection.swift | 83 +-
.../CodeBurnMenubar/Views/HeroSection.swift | 76 +-
.../CodeBurnMenubar/Views/SettingsView.swift | 21 +
.../ClaudeSubscriptionParsingTests.swift | 77 +
.../DataClientProcessTests.swift | 30 +
.../RefreshCadenceTests.swift | 73 +
package-lock.json | 335 +-
package.json | 8 +-
src/act/apply.ts | 100 +
src/act/backup.ts | 78 +
src/act/cli.ts | 85 +
src/act/journal.ts | 93 +
src/act/optimize-apply.ts | 186 ++
src/act/plans.ts | 446 +++
src/act/report.ts | 590 ++++
src/act/types.ts | 66 +
src/act/undo.ts | 77 +
src/audit-report.ts | 220 ++
src/bash-utils.ts | 23 +-
src/cli-date.ts | 62 +-
src/codex-cache.ts | 4 +-
src/codex-credits.ts | 57 +
src/config.ts | 2 +
src/context-tree-codex.ts | 341 ++
src/context-tree.ts | 739 +++++
src/context-tui.tsx | 203 ++
src/currency.ts | 2 +-
src/cursor-cache.ts | 9 +-
src/daily-cache.ts | 36 +-
src/dashboard.tsx | 4 +
src/device-name.ts | 32 +
src/export.ts | 22 +
src/fs-utils.ts | 17 +-
src/main.ts | 530 ++-
src/menubar-json.ts | 112 +
src/models.ts | 238 +-
src/optimize.ts | 189 +-
src/overview.ts | 237 ++
src/parser.ts | 4 +-
src/providers/codex.ts | 11 +
src/providers/cursor-agent.ts | 6 +-
src/providers/cursor.ts | 297 +-
src/providers/devin.ts | 555 ++++
src/providers/grok.ts | 273 ++
src/providers/hermes.ts | 471 +++
src/providers/index.ts | 54 +-
src/providers/kiro.ts | 4 +
src/providers/lingtai-tui.ts | 426 +++
src/providers/open-design.ts | 259 ++
src/providers/opencode-file-parser.ts | 154 +
src/providers/opencode.ts | 14 +
src/providers/pi.ts | 1 +
src/providers/session-message.ts | 168 +
src/providers/zcode.ts | 227 ++
src/providers/zed.ts | 233 ++
src/providers/zerostack.ts | 171 +
src/sharing/client.ts | 111 +
src/sharing/discovery.ts | 85 +
src/sharing/host.ts | 245 ++
src/sharing/identity.ts | 58 +
src/sharing/pairing.ts | 120 +
src/sharing/prompt.ts | 30 +
src/sharing/sanitize.ts | 45 +
src/sharing/share-controller.ts | 151 +
src/sharing/share-run.ts | 94 +
src/sharing/share-server.ts | 193 ++
src/sharing/store.ts | 64 +
src/text-table.ts | 43 +
src/usage-payload.ts | 197 ++
src/usage-timeline.ts | Bin 0 -> 5687 bytes
src/web-dashboard.ts | 419 +++
tests/act-journal.test.ts | 215 ++
tests/act-report.test.ts | 435 +++
tests/act-undo.test.ts | 307 ++
tests/audit-report.test.ts | 112 +
tests/bash-commands.test.ts | 37 +
tests/cli-date.test.ts | 2 +-
tests/cli-export-date-range.test.ts | 2 +-
tests/cli-plan.test.ts | 4 +-
tests/cli-provider-validation.test.ts | 66 +
tests/codex-credits.test.ts | 53 +
tests/context-tree.test.ts | 205 ++
tests/currency-rounding.test.ts | 1 +
tests/daily-cache.test.ts | 57 +-
tests/export.test.ts | 32 +-
.../data/runs/run-mixed/events.jsonl | 5 +
.../data/runs/run-no-usage/events.jsonl | 3 +
.../data/runs/run-start-seeded/events.jsonl | 3 +
tests/menubar-snapshot-contract.test.ts | 2 +
tests/models.test.ts | 71 +
tests/optimize-apply.test.ts | 655 ++++
tests/overview.test.ts | 100 +
tests/price-override.test.ts | 154 +
tests/provider-registry.test.ts | 57 +-
tests/providers/codex.test.ts | 53 +
tests/providers/cursor-agent.test.ts | 22 +
tests/providers/cursor-large-db-cap.test.ts | 146 +
tests/providers/cursor-real-tokens.test.ts | 230 ++
tests/providers/devin.test.ts | 693 ++++
tests/providers/grok.test.ts | 185 ++
tests/providers/hermes.test.ts | 548 +++
tests/providers/lingtai-tui.test.ts | 204 ++
tests/providers/open-design.test.ts | 159 +
tests/providers/opencode-file.test.ts | 202 ++
tests/providers/pi.test.ts | 1 +
tests/providers/zcode.test.ts | 141 +
tests/providers/zed.test.ts | 268 ++
tests/providers/zerostack.test.ts | 177 +
tests/sharing/approve.test.ts | 62 +
tests/sharing/connect-timeout.test.ts | 15 +
tests/sharing/host.test.ts | 258 ++
tests/sharing/pairing.test.ts | 112 +
tests/sharing/sanitize.test.ts | 64 +
tests/sharing/transport.test.ts | 154 +
tests/web-dashboard.test.ts | 175 +
vitest.config.ts | 13 +
windows/package.json | 2 +-
158 files changed, 23071 insertions(+), 228 deletions(-)
create mode 100644 dash/index.html
create mode 100644 dash/package-lock.json
create mode 100644 dash/package.json
create mode 100644 dash/public/codeburn-logo.png
create mode 100644 dash/src/App.tsx
create mode 100644 dash/src/components/BarList.tsx
create mode 100644 dash/src/components/ContextExplorer.tsx
create mode 100644 dash/src/components/DataTable.tsx
create mode 100644 dash/src/components/DeviceSearchModal.tsx
create mode 100644 dash/src/components/MetricCard.tsx
create mode 100644 dash/src/components/UsageChart.tsx
create mode 100644 dash/src/components/ui/card.tsx
create mode 100644 dash/src/components/ui/skeleton.tsx
create mode 100644 dash/src/index.css
create mode 100644 dash/src/lib/api.ts
create mode 100644 dash/src/lib/utils.ts
create mode 100644 dash/src/main.tsx
create mode 100644 dash/tsconfig.json
create mode 100644 dash/vite.config.ts
create mode 100644 docs/providers/devin.md
create mode 100644 docs/providers/grok.md
create mode 100644 docs/providers/hermes.md
create mode 100644 docs/providers/lingtai-tui.md
create mode 100644 docs/providers/open-design.md
create mode 100644 docs/providers/zcode.md
create mode 100644 docs/providers/zed.md
create mode 100644 docs/providers/zerostack.md
create mode 100644 mac/Sources/CodeBurnMenubar/Data/UsageRefreshCadence.swift
create mode 100644 mac/Sources/CodeBurnMenubar/RefreshCadence.swift
create mode 100644 mac/Tests/CodeBurnMenubarTests/ClaudeSubscriptionParsingTests.swift
create mode 100644 mac/Tests/CodeBurnMenubarTests/RefreshCadenceTests.swift
create mode 100644 src/act/apply.ts
create mode 100644 src/act/backup.ts
create mode 100644 src/act/cli.ts
create mode 100644 src/act/journal.ts
create mode 100644 src/act/optimize-apply.ts
create mode 100644 src/act/plans.ts
create mode 100644 src/act/report.ts
create mode 100644 src/act/types.ts
create mode 100644 src/act/undo.ts
create mode 100644 src/audit-report.ts
create mode 100644 src/codex-credits.ts
create mode 100644 src/context-tree-codex.ts
create mode 100644 src/context-tree.ts
create mode 100644 src/context-tui.tsx
create mode 100644 src/device-name.ts
create mode 100644 src/overview.ts
create mode 100644 src/providers/devin.ts
create mode 100644 src/providers/grok.ts
create mode 100644 src/providers/hermes.ts
create mode 100644 src/providers/lingtai-tui.ts
create mode 100644 src/providers/open-design.ts
create mode 100644 src/providers/opencode-file-parser.ts
create mode 100644 src/providers/session-message.ts
create mode 100644 src/providers/zcode.ts
create mode 100644 src/providers/zed.ts
create mode 100644 src/providers/zerostack.ts
create mode 100644 src/sharing/client.ts
create mode 100644 src/sharing/discovery.ts
create mode 100644 src/sharing/host.ts
create mode 100644 src/sharing/identity.ts
create mode 100644 src/sharing/pairing.ts
create mode 100644 src/sharing/prompt.ts
create mode 100644 src/sharing/sanitize.ts
create mode 100644 src/sharing/share-controller.ts
create mode 100644 src/sharing/share-run.ts
create mode 100644 src/sharing/share-server.ts
create mode 100644 src/sharing/store.ts
create mode 100644 src/text-table.ts
create mode 100644 src/usage-payload.ts
create mode 100644 src/usage-timeline.ts
create mode 100644 src/web-dashboard.ts
create mode 100644 tests/act-journal.test.ts
create mode 100644 tests/act-report.test.ts
create mode 100644 tests/act-undo.test.ts
create mode 100644 tests/audit-report.test.ts
create mode 100644 tests/cli-provider-validation.test.ts
create mode 100644 tests/codex-credits.test.ts
create mode 100644 tests/context-tree.test.ts
create mode 100644 tests/fixtures/open-design/namespaces/release-stable/data/runs/run-mixed/events.jsonl
create mode 100644 tests/fixtures/open-design/namespaces/release-stable/data/runs/run-no-usage/events.jsonl
create mode 100644 tests/fixtures/open-design/namespaces/release-stable/data/runs/run-start-seeded/events.jsonl
create mode 100644 tests/optimize-apply.test.ts
create mode 100644 tests/overview.test.ts
create mode 100644 tests/price-override.test.ts
create mode 100644 tests/providers/cursor-large-db-cap.test.ts
create mode 100644 tests/providers/cursor-real-tokens.test.ts
create mode 100644 tests/providers/devin.test.ts
create mode 100644 tests/providers/grok.test.ts
create mode 100644 tests/providers/hermes.test.ts
create mode 100644 tests/providers/lingtai-tui.test.ts
create mode 100644 tests/providers/open-design.test.ts
create mode 100644 tests/providers/opencode-file.test.ts
create mode 100644 tests/providers/zcode.test.ts
create mode 100644 tests/providers/zed.test.ts
create mode 100644 tests/providers/zerostack.test.ts
create mode 100644 tests/sharing/approve.test.ts
create mode 100644 tests/sharing/connect-timeout.test.ts
create mode 100644 tests/sharing/host.test.ts
create mode 100644 tests/sharing/pairing.test.ts
create mode 100644 tests/sharing/sanitize.test.ts
create mode 100644 tests/sharing/transport.test.ts
create mode 100644 tests/web-dashboard.test.ts
create mode 100644 vitest.config.ts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 58760b7..9ce3c72 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,55 @@
# Changelog
+## 2.5.0 - 2026-07-23
+
+Major upstream-parity release. Alongside new providers and a batch of
+cost-accuracy fixes, this adds the context/acting features and two greenfield
+subsystems: opt-in LAN **device sharing** (mutual-TLS) and a local **web
+dashboard**. Nothing network-facing is on by default.
+
+### Added
+- **Device sharing (opt-in, local network).** `codeburn share` advertises this
+ Mac over mDNS; `codeburn devices` discovers, pairs with, and pulls usage from
+ your other Macs, and `status --scope combined` folds them into one view.
+ Mutual-TLS with trust-on-first-use certificate pinning, a 6-digit PIN and an
+ approve-style matching-code flow, and bearer tokens bound to the peer's cert
+ (a stolen token replayed from another device is refused). Only sanitized
+ aggregates ever leave the machine — never project names, paths, or
+ per-session detail. (upstream #532/#536/#567/#568)
+- **Local web dashboard.** `codeburn web` opens a **loopback-only** (127.0.0.1,
+ Host/Origin-guarded) React dashboard: hero + metric cards, a granular usage
+ timeline, and By Tool / Top Projects / Model Efficiency / Skills / MCP /
+ Subagents panels, plus a context explorer and the device-sharing UI.
+ (upstream #573/#582/#589/#533/#534/#554/#586)
+- **Context token breakdown** — `codeburn context [session]`: what fills the
+ window, by role, block type, and tool (Claude + Codex).
+- **Acting layer** — `codeburn optimize --apply` and `codeburn act
+ list|undo|report`: apply optimize findings as journaled, reversible edits.
+- **Overview, audit, and price-override commands**; Codex credits (CLI + a
+ cost → tokens → **credits** hero metric in the macOS menubar).
+- **Lifetime (all-time) period** across the CLI and web dashboard, with weekly
+ timeline bucketing for multi-year spans.
+- **New providers**: Grok, zcode, Hermes, Open Design, Zed, LingTai, Devin, and
+ ZeroStack. (upstream Tier 4)
+- **Cursor real composer-context tokens** and Cursor-published composer pricing.
+ (upstream #512/#575)
+
+### Fixed
+- **Cost-accuracy / data-integrity** batch: model-alias and pricing-variant
+ fixes, per-provider daily-cache accounting (cache-version bump forces a
+ one-time re-hydration), and menubar-json fast-path parse-once. (Tiers 1–2)
+- **ZeroStack** no longer ~10× undercounts (cache tokens were dropped); **Zed**
+ invalid-UTF-8 threads no longer crash the run; **Grok** prices correctly
+ (dead alias → `grok-code-fast-1`).
+
+### Security
+- Device-sharing pairing confirmation code widened **3 → 6 digits**
+ (collision-resistant); the manual host+PIN pairing path now prints a
+ trust-the-address warning and points at discover-and-approve as the safer
+ default. Egress boundary verified: the sharing path never computes the
+ enriched web-only breakdowns, and payloads are sanitized on send and re-sanitized
+ on receipt.
+
## 2.4.9 - 2026-06-12
Sync with upstream: ten ported fixes and features, including a critical
diff --git a/README.md b/README.md
index 695c96d..4c0ef55 100644
--- a/README.md
+++ b/README.md
@@ -114,6 +114,14 @@ Arrow keys switch between Today, 7 Days, 30 Days, Month, and 6 Months (use `--fr
|
| Antigravity | Yes | [antigravity.md](docs/providers/antigravity.md) |
|
| Crush | Yes | [crush.md](docs/providers/crush.md) |
| | Mux (coder) | Yes | [mux.md](docs/providers/mux.md) |
+| | Devin | Yes | [devin.md](docs/providers/devin.md) |
+| | Grok Build | Yes | [grok.md](docs/providers/grok.md) |
+| | Hermes | Yes | [hermes.md](docs/providers/hermes.md) |
+| | LingTai | Yes | [lingtai-tui.md](docs/providers/lingtai-tui.md) |
+| | Open Design | Yes | [open-design.md](docs/providers/open-design.md) |
+| | Zed | Yes | [zed.md](docs/providers/zed.md) |
+| | ZCode (z.ai) | Yes | [zcode.md](docs/providers/zcode.md) |
+| | Zerostack | Yes | [zerostack.md](docs/providers/zerostack.md) |
Paths shown are for macOS. Linux and Windows equivalents are detected automatically. If a path has changed or is wrong, please [open an issue](https://github.com/soumyadebroy3/codeburn/issues).
@@ -268,6 +276,7 @@ codeburn currency GBP # set to British Pounds
codeburn currency AUD # set to Australian Dollars
codeburn currency JPY # set to Japanese Yen
codeburn currency CNY # set to Chinese Yuan
+codeburn currency RON # set to Romanian Leu
codeburn currency # show current setting
codeburn currency --reset # back to USD
```
diff --git a/dash/index.html b/dash/index.html
new file mode 100644
index 0000000..978f7b9
--- /dev/null
+++ b/dash/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ CodeBurn - Local Dashboard
+
+
+
+
+
+
diff --git a/dash/package-lock.json b/dash/package-lock.json
new file mode 100644
index 0000000..9999f55
--- /dev/null
+++ b/dash/package-lock.json
@@ -0,0 +1,2949 @@
+{
+ "name": "codeburn-dash",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "codeburn-dash",
+ "version": "0.0.0",
+ "dependencies": {
+ "@tanstack/react-query": "^5.62.7",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.468.0",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
+ "recharts": "^3.3.0",
+ "tailwind-merge": "^3.0.2"
+ },
+ "devDependencies": {
+ "@tailwindcss/vite": "^4.0.13",
+ "@types/react": "^19.0.0",
+ "@types/react-dom": "^19.0.0",
+ "@vitejs/plugin-react": "^4.3.4",
+ "tailwindcss": "^4.0.13",
+ "typescript": "^5.7.2",
+ "vite": "^6.0.5"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
+ "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.29.7",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz",
+ "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz",
+ "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/generator": "^7.29.7",
+ "@babel/helper-compilation-targets": "^7.29.7",
+ "@babel/helper-module-transforms": "^7.29.7",
+ "@babel/helpers": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/template": "^7.29.7",
+ "@babel/traverse": "^7.29.7",
+ "@babel/types": "^7.29.7",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz",
+ "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.7",
+ "@babel/types": "^7.29.7",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz",
+ "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.29.7",
+ "@babel/helper-validator-option": "^7.29.7",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
+ "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
+ "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz",
+ "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7",
+ "@babel/traverse": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz",
+ "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
+ "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz",
+ "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz",
+ "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz",
+ "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.7"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz",
+ "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz",
+ "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
+ "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz",
+ "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/generator": "^7.29.7",
+ "@babel/helper-globals": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/template": "^7.29.7",
+ "@babel/types": "^7.29.7",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz",
+ "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@reduxjs/toolkit": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz",
+ "integrity": "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==",
+ "license": "MIT",
+ "dependencies": {
+ "@standard-schema/spec": "^1.0.0",
+ "@standard-schema/utils": "^0.3.0",
+ "immer": "^11.0.0",
+ "redux": "^5.0.1",
+ "redux-thunk": "^3.1.0",
+ "reselect": "^5.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.9.0 || ^17.0.0 || ^18 || ^19",
+ "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-redux": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@reduxjs/toolkit/node_modules/immer": {
+ "version": "11.1.8",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.8.tgz",
+ "integrity": "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.27",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz",
+ "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz",
+ "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz",
+ "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz",
+ "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz",
+ "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz",
+ "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz",
+ "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz",
+ "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz",
+ "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz",
+ "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz",
+ "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz",
+ "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz",
+ "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz",
+ "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz",
+ "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz",
+ "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz",
+ "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz",
+ "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz",
+ "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz",
+ "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz",
+ "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz",
+ "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz",
+ "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz",
+ "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz",
+ "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@standard-schema/spec": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
+ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
+ "license": "MIT"
+ },
+ "node_modules/@standard-schema/utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz",
+ "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
+ "license": "MIT"
+ },
+ "node_modules/@tailwindcss/node": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz",
+ "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "enhanced-resolve": "5.21.6",
+ "jiti": "^2.7.0",
+ "lightningcss": "1.32.0",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.3.1"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz",
+ "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 20"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.3.1",
+ "@tailwindcss/oxide-darwin-arm64": "4.3.1",
+ "@tailwindcss/oxide-darwin-x64": "4.3.1",
+ "@tailwindcss/oxide-freebsd-x64": "4.3.1",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.3.1",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.3.1",
+ "@tailwindcss/oxide-linux-x64-musl": "4.3.1",
+ "@tailwindcss/oxide-wasm32-wasi": "4.3.1",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.3.1"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz",
+ "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz",
+ "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz",
+ "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz",
+ "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz",
+ "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz",
+ "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz",
+ "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz",
+ "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz",
+ "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz",
+ "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.10.0",
+ "@emnapi/runtime": "^1.10.0",
+ "@emnapi/wasi-threads": "^1.2.1",
+ "@napi-rs/wasm-runtime": "^1.1.4",
+ "@tybys/wasm-util": "^0.10.2",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz",
+ "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz",
+ "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/vite": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz",
+ "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tailwindcss/node": "4.3.1",
+ "@tailwindcss/oxide": "4.3.1",
+ "tailwindcss": "4.3.1"
+ },
+ "peerDependencies": {
+ "vite": "^5.2.0 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/@tanstack/query-core": {
+ "version": "5.101.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.0.tgz",
+ "integrity": "sha512-cQetA74EB+seWySv1TTKr828TnP0u39m6LykwDXIo84SNortpDkp30TMEjkqtYCNP9c40uT/iwl6MLiufEt0Ow==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "5.101.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.101.0.tgz",
+ "integrity": "sha512-rLlJXSpkqfizLWgkR5+eLeIk0MvTx/meEIR7LRjxic+qxiQP8zVjq7BqQkiCMNLQBlLfuOLqqr6KO5GtrDlmSg==",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/query-core": "5.101.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "node_modules/@types/d3-array": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz",
+ "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-color": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
+ "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-ease": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
+ "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-interpolate": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
+ "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-color": "*"
+ }
+ },
+ "node_modules/@types/d3-path": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
+ "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-scale": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
+ "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-time": "*"
+ }
+ },
+ "node_modules/@types/d3-shape": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz",
+ "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-path": "*"
+ }
+ },
+ "node_modules/@types/d3-time": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
+ "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-timer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
+ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "19.2.17",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz",
+ "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "csstype": "^3.2.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^19.2.0"
+ }
+ },
+ "node_modules/@types/use-sync-external-store": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
+ "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
+ "license": "MIT"
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.28.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.27",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.17.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.10.38",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.38.tgz",
+ "integrity": "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz",
+ "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.10.12",
+ "caniuse-lite": "^1.0.30001782",
+ "electron-to-chromium": "^1.5.328",
+ "node-releases": "^2.0.36",
+ "update-browserslist-db": "^1.2.3"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001799",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz",
+ "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/d3-array": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+ "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "license": "ISC",
+ "dependencies": {
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-ease": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-format": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
+ "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-interpolate": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-shape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time-format": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-time": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-timer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js-light": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz",
+ "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
+ "license": "MIT"
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.376",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.376.tgz",
+ "integrity": "sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.21.6",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz",
+ "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/es-toolkit": {
+ "version": "1.47.1",
+ "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.1.tgz",
+ "integrity": "sha512-5RAqEwf4P4E17p+W75KLOWw/nOvKZzSQpxM32IpI2KZLaVonjTrZ0Ai5ghMaVI9eKC2p8eoQgcBdkEDgzFk6+Q==",
+ "license": "MIT",
+ "workspaces": [
+ "docs",
+ "benchmarks"
+ ]
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "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"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
+ "license": "MIT"
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/immer": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
+ "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lightningcss": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
+ "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-android-arm64": "1.32.0",
+ "lightningcss-darwin-arm64": "1.32.0",
+ "lightningcss-darwin-x64": "1.32.0",
+ "lightningcss-freebsd-x64": "1.32.0",
+ "lightningcss-linux-arm-gnueabihf": "1.32.0",
+ "lightningcss-linux-arm64-gnu": "1.32.0",
+ "lightningcss-linux-arm64-musl": "1.32.0",
+ "lightningcss-linux-x64-gnu": "1.32.0",
+ "lightningcss-linux-x64-musl": "1.32.0",
+ "lightningcss-win32-arm64-msvc": "1.32.0",
+ "lightningcss-win32-x64-msvc": "1.32.0"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
+ "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
+ "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
+ "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
+ "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
+ "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
+ "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
+ "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
+ "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
+ "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
+ "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
+ "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/lucide-react": {
+ "version": "0.468.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz",
+ "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.13.tgz",
+ "integrity": "sha512-sPdqC6ByMVVGvF1ynvvMo0/o+oD1VX7DaHhijt1bFgjvBkHBib4t49GoNDhf2NDta4oeUNlaGbSt5K7qjZ955Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.48",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.48.tgz",
+ "integrity": "sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.15",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
+ "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.12",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz",
+ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz",
+ "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==",
+ "license": "MIT",
+ "dependencies": {
+ "scheduler": "^0.27.0"
+ },
+ "peerDependencies": {
+ "react": "^19.2.7"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
+ "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/react-redux": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz",
+ "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/use-sync-external-store": "^0.0.6",
+ "use-sync-external-store": "^1.4.0"
+ },
+ "peerDependencies": {
+ "@types/react": "^18.2.25 || ^19",
+ "react": "^18.0 || ^19",
+ "redux": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "redux": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-refresh": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/recharts": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.8.1.tgz",
+ "integrity": "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==",
+ "license": "MIT",
+ "workspaces": [
+ "www"
+ ],
+ "dependencies": {
+ "@reduxjs/toolkit": "^1.9.0 || 2.x.x",
+ "clsx": "^2.1.1",
+ "decimal.js-light": "^2.5.1",
+ "es-toolkit": "^1.39.3",
+ "eventemitter3": "^5.0.1",
+ "immer": "^10.1.1",
+ "react-redux": "8.x.x || 9.x.x",
+ "reselect": "5.1.1",
+ "tiny-invariant": "^1.3.3",
+ "use-sync-external-store": "^1.2.2",
+ "victory-vendor": "^37.0.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/redux": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
+ "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
+ "license": "MIT"
+ },
+ "node_modules/redux-thunk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
+ "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "redux": "^5.0.0"
+ }
+ },
+ "node_modules/reselect": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
+ "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
+ "license": "MIT"
+ },
+ "node_modules/rollup": {
+ "version": "4.62.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz",
+ "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.9"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.62.2",
+ "@rollup/rollup-android-arm64": "4.62.2",
+ "@rollup/rollup-darwin-arm64": "4.62.2",
+ "@rollup/rollup-darwin-x64": "4.62.2",
+ "@rollup/rollup-freebsd-arm64": "4.62.2",
+ "@rollup/rollup-freebsd-x64": "4.62.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.62.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.62.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.62.2",
+ "@rollup/rollup-linux-arm64-musl": "4.62.2",
+ "@rollup/rollup-linux-loong64-gnu": "4.62.2",
+ "@rollup/rollup-linux-loong64-musl": "4.62.2",
+ "@rollup/rollup-linux-ppc64-gnu": "4.62.2",
+ "@rollup/rollup-linux-ppc64-musl": "4.62.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.62.2",
+ "@rollup/rollup-linux-riscv64-musl": "4.62.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.62.2",
+ "@rollup/rollup-linux-x64-gnu": "4.62.2",
+ "@rollup/rollup-linux-x64-musl": "4.62.2",
+ "@rollup/rollup-openbsd-x64": "4.62.2",
+ "@rollup/rollup-openharmony-arm64": "4.62.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.62.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.62.2",
+ "@rollup/rollup-win32-x64-gnu": "4.62.2",
+ "@rollup/rollup-win32-x64-msvc": "4.62.2",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tailwind-merge": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.6.0.tgz",
+ "integrity": "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz",
+ "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tapable": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+ "license": "MIT"
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/victory-vendor": {
+ "version": "37.3.6",
+ "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz",
+ "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==",
+ "license": "MIT AND ISC",
+ "dependencies": {
+ "@types/d3-array": "^3.0.3",
+ "@types/d3-ease": "^3.0.0",
+ "@types/d3-interpolate": "^3.0.1",
+ "@types/d3-scale": "^4.0.2",
+ "@types/d3-shape": "^3.1.0",
+ "@types/d3-time": "^3.0.0",
+ "@types/d3-timer": "^3.0.0",
+ "d3-array": "^3.1.6",
+ "d3-ease": "^3.0.1",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.1.0",
+ "d3-time": "^3.0.0",
+ "d3-timer": "^3.0.1"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
+ "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2",
+ "postcss": "^8.5.3",
+ "rollup": "^4.34.9",
+ "tinyglobby": "^0.2.13"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ }
+ }
+}
diff --git a/dash/package.json b/dash/package.json
new file mode 100644
index 0000000..bbdd3fc
--- /dev/null
+++ b/dash/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "codeburn-dash",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "typecheck": "tsc --noEmit",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@tanstack/react-query": "^5.62.7",
+ "clsx": "^2.1.1",
+ "lucide-react": "^0.468.0",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
+ "recharts": "^3.3.0",
+ "tailwind-merge": "^3.0.2"
+ },
+ "devDependencies": {
+ "@tailwindcss/vite": "^4.0.13",
+ "@types/react": "^19.0.0",
+ "@types/react-dom": "^19.0.0",
+ "@vitejs/plugin-react": "^4.3.4",
+ "tailwindcss": "^4.0.13",
+ "typescript": "^5.7.2",
+ "vite": "^6.0.5"
+ }
+}
diff --git a/dash/public/codeburn-logo.png b/dash/public/codeburn-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0a8cdc12f523156a0ec085eeea188e1292ad2ee
GIT binary patch
literal 127999
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