From 7ab118e3832f64a00659ee43c194ce93f5956cf6 Mon Sep 17 00:00:00 2001 From: Tom Ballard Date: Sun, 26 Jul 2026 14:50:32 +0100 Subject: [PATCH 1/4] feat: rebuild the public site around AsDecided --- .github/workflows/deploy.yml | 51 - .gitignore | 46 +- .openai/hosting.json | 5 + README.md | 103 +- app/DecisionConsole.tsx | 102 + app/globals.css | 1078 +++ app/layout.tsx | 39 + app/page.tsx | 288 + build/sites-vite-plugin.ts | 45 + docs/core/.gitkeep | 1 - docs/essays.md | 15 - docs/fonts/InterVariable-Italic.woff2 | Bin 51832 -> 0 bytes docs/fonts/InterVariable.woff2 | Bin 48256 -> 0 bytes docs/fonts/JetBrainsMono-Bold.woff2 | Bin 39672 -> 0 bytes docs/fonts/JetBrainsMono-Regular.woff2 | Bin 38400 -> 0 bytes docs/fonts/OFL.txt | 93 - docs/images/favicon.png | Bin 2213 -> 0 bytes docs/images/lamplighter.png | Bin 13499 -> 0 bytes docs/images/social-card.png | Bin 54415 -> 0 bytes docs/index.md | 93 - docs/spec/why-strict.md | 131 - docs/stylesheets/extra.css | 473 - eslint.config.mjs | 18 + mkdocs.yml | 74 - next.config.ts | 7 + overrides/home.html | 63 - overrides/main.html | 33 - package-lock.json | 11169 +++++++++++++++++++++++ package.json | 41 + postcss.config.mjs | 7 + public/brand-lockup.jpg | Bin 0 -> 18619 bytes public/brand-mark.jpg | Bin 0 -> 17806 bytes public/favicon.png | Bin 0 -> 6578 bytes scripts/fetch-org-stats.sh | 51 - scripts/vendor-docs.sh | 42 - tests/rendered-html.test.mjs | 42 + tsconfig.json | 34 + vite.config.ts | 59 + worker/index.ts | 47 + 39 files changed, 13036 insertions(+), 1214 deletions(-) delete mode 100644 .github/workflows/deploy.yml create mode 100644 .openai/hosting.json create mode 100644 app/DecisionConsole.tsx create mode 100644 app/globals.css create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 build/sites-vite-plugin.ts delete mode 100644 docs/core/.gitkeep delete mode 100644 docs/essays.md delete mode 100644 docs/fonts/InterVariable-Italic.woff2 delete mode 100644 docs/fonts/InterVariable.woff2 delete mode 100644 docs/fonts/JetBrainsMono-Bold.woff2 delete mode 100644 docs/fonts/JetBrainsMono-Regular.woff2 delete mode 100644 docs/fonts/OFL.txt delete mode 100644 docs/images/favicon.png delete mode 100644 docs/images/lamplighter.png delete mode 100644 docs/images/social-card.png delete mode 100644 docs/index.md delete mode 100644 docs/spec/why-strict.md delete mode 100644 docs/stylesheets/extra.css create mode 100644 eslint.config.mjs delete mode 100644 mkdocs.yml create mode 100644 next.config.ts delete mode 100644 overrides/home.html delete mode 100644 overrides/main.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.mjs create mode 100644 public/brand-lockup.jpg create mode 100644 public/brand-mark.jpg create mode 100644 public/favicon.png delete mode 100755 scripts/fetch-org-stats.sh delete mode 100755 scripts/vendor-docs.sh create mode 100644 tests/rendered-html.test.mjs create mode 100644 tsconfig.json create mode 100644 vite.config.ts create mode 100644 worker/index.ts diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 37ecb27..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Deploy - -# Build-only strict MkDocs build so a broken vendored page or nav entry -# fails CI instead of deploying. See scripts/vendor-docs.sh and core's -# ADR-101 for the vendoring contract. - -on: - push: - branches: [main] - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: pages - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - name: Install MkDocs - run: pip install mkdocs==1.6.1 mkdocs-material==9.7.6 - - name: Vendor product docs - run: ./scripts/vendor-docs.sh - - name: Fetch org star count - run: ./scripts/fetch-org-stats.sh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Build site (strict) - run: mkdocs build --strict - - uses: actions/upload-pages-artifact@v3 - with: - path: site - - deploy: - needs: build - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 7be6a1e..236cfc6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,42 @@ -site/ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -# Build-time vendored content (see core's ADR-101 — never committed). -.vendor/ -docs/core/* -!docs/core/.gitkeep +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/.vinext/ +/out/ + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +next-env.d.ts +/dist/ +/.wrangler/ +/outputs/ +/work/ diff --git a/.openai/hosting.json b/.openai/hosting.json new file mode 100644 index 0000000..1dc0132 --- /dev/null +++ b/.openai/hosting.json @@ -0,0 +1,5 @@ +{ + "project_id": "appgprj_6a660ef8c7e4819196927967748b9a75", + "d1": null, + "r2": null +} diff --git a/README.md b/README.md index c7970b8..125ffc9 100644 --- a/README.md +++ b/README.md @@ -1,96 +1,21 @@ -# AsDecided documentation site +# AsDecided Website -The [`asdecided`](https://github.com/asdecided) organization documentation -site, served at https://asdecided.github.io/. It uses the same MkDocs Material -foundation as the native core documentation so every product reads as one -brand. -Deployed by GitHub Actions on every push to `main`. +The public product site for [AsDecided](https://github.com/asdecided): local, +deterministic decision infrastructure for coding agents. -## How content gets here +## Development -Sections under `/core/` (and future product sections) are **vendored, -not authored here**: `scripts/vendor-docs.sh` sparse-checks out each source -repo's `docs/` directory into `docs//` before `mkdocs build`. Nothing -vendored is committed — `docs/core/` is gitignored. Because it lands in -the same MkDocs `docs_dir` as everything else, the source repos' existing -relative links between pages (`[relationships.md](relationships.md)`, `cli.md#schema`, -etc.) resolve correctly with no rewriting. - -The rationale and contract are recorded in core's -[ADR-101](https://github.com/asdecided/core/blob/main/decisions/decisions/adr-101-org-docs-site-and-topology.md). - -The site's own visual identity (light theme, Inter for prose, JetBrains -Mono for code, the lamplighter at icon size only) is recorded in core's -[ADR-102](https://github.com/asdecided/core/blob/main/decisions/decisions/adr-102-org-site-brand-direction.md): -it deliberately *rhymes with, but does not match*, core's -`rac-localview` product-UI theme (dark, mono-everywhere) — three shared -constants (the amber accent, mono-for-code, the lamplighter), everything -else per surface. Brand assets (`docs/fonts/`, -`docs/images/favicon.png` + `lamplighter.png`) are one-time copies of -`rac-localview`'s source files; this org site owns the canonical copies per -ADR-092 ("the brand lives at the org"). - -Adding a new product section: - -1. Add a `vendor_repo` call to `scripts/vendor-docs.sh`. -2. Add its pages to the `nav:` list in `mkdocs.yml`. -3. Add a card to "The ecosystem" grid in `docs/index.md`. - -**The homepage hero is temporarily spec-led** (headline, CTAs, and eyebrow -all point at the specification announcement essay, per an explicit "for now" -request) instead of the previous product pitch — see the comment at the -top of `overrides/home.html` for what to restore and why. - -## Org-wide star count - -The hero shows a "★ N stars across AsDecided's open-source repos" line, -sourced by `scripts/fetch-org-stats.sh` (sums `stargazers_count` across the -org's public repos via the GitHub API) and exposed to `overrides/home.html` -through `mkdocs.yml`'s `extra.total_org_stars` (an `!ENV` tag reading the -`TOTAL_ORG_STARS` env var the script sets). Requires a `GITHUB_TOKEN` with -read access — the deploy workflow uses the default `secrets.GITHUB_TOKEN`. -Without a token (e.g. local `mkdocs serve`), the count defaults to 0 and the -hero hides the line entirely. - -## Essays - -`docs/essays.md` (nav label "Essays") is a **hand-curated index**, not an -auto-generated blog. An essay lives wherever it makes most sense — a spec -announcement lives inside the relevant section (e.g. -`docs/spec/why-strict.md`) rather than a generic `/blog/` — and gets one -card added to `docs/essays.md` linking to it. This is deliberate: essays -don't all belong under one directory, so there's nothing for a plugin to -auto-discover. - -(An earlier pass tried MkDocs Material's built-in blog plugin for this; it -assumes every post lives under one `blog_dir`, which fought the actual -authoring pattern. See git history if a real dated/multi-author blog is -ever needed again — it's a small, well-understood revert.) - -## Social previews (Open Graph / Twitter Card) - -`overrides/main.html` extends Material's real `main.html` — which is itself -just a one-line `{% extends "base.html" %}` pass-through, so this is a safe -override — to add `og:*` and `twitter:*` meta tags to every page via -`base.html`'s `extrahead` block (Material ships nothing here by default). - -- **Title/description** come from each page's frontmatter (`title:`, - `description:`) when set, falling back to `config.site_name` / - `site_description` for pages without them (the homepage always uses - `site_name`, since `docs/index.md` has no `title:`). -- **Image** is one static card, `docs/images/social-card.png` (1200×630, - the standard OG size) — not per-page. It was composed as an HTML mockup - (brand tokens, the lamplighter, the product tagline) and rendered with - Playwright rather than a design tool; regenerate the same way if the - brand or tagline changes. -- Add a `description:` to a page's frontmatter for a tailored social - preview instead of the generic site description (see - `docs/spec/why-strict.md` for an example). +```sh +npm ci +npm run dev +``` -## Local development +Build and verify the deployable site with: ```sh -pip install mkdocs==1.6.1 mkdocs-material==9.7.6 -./scripts/vendor-docs.sh -mkdocs serve +npm run build +npm test ``` + +The site is deployed through ChatGPT Sites. Technical documentation remains +owned by the repository that implements each product surface. diff --git a/app/DecisionConsole.tsx b/app/DecisionConsole.tsx new file mode 100644 index 0000000..bc8f8e0 --- /dev/null +++ b/app/DecisionConsole.tsx @@ -0,0 +1,102 @@ +"use client"; + +import { useState } from "react"; + +const queries = [ + { + id: "deletion", + label: "Data deletion", + question: "Can I hard-delete a user when they close their account?", + artifact: "ADR-014", + title: "Soft-delete user records", + answer: + "No. User records remain recoverable for 30 days. New deletion work must preserve the restoration window.", + related: "REQ-021 · DESIGN-008", + }, + { + id: "auth", + label: "Authentication", + question: "Should this service issue its own session tokens?", + artifact: "ADR-027", + title: "Centralize session issuance", + answer: + "No. Session tokens are issued by the identity boundary. Services validate them but do not mint replacements.", + related: "REQ-034 · DESIGN-011", + }, + { + id: "storage", + label: "Event storage", + question: "Can I overwrite an event when its payload changes?", + artifact: "ADR-031", + title: "Append events; never mutate", + answer: + "No. Corrections append a compensating event so the audit trail and downstream replay remain deterministic.", + related: "REQ-041 · ROADMAP-006", + }, +]; + +export function DecisionConsole() { + const [activeId, setActiveId] = useState(queries[0].id); + const active = queries.find((query) => query.id === activeId) ?? queries[0]; + + return ( +
+
+ {queries.map((query) => ( + + ))} +
+
+
+
+ AGENT QUERY + EXAMPLE +
+
“{active.question}”
+
+ search_artifacts + + get_artifact + + get_related +
+
+
+
+ CITED RESULT + VALID RECORD +
+

{active.artifact}

+

{active.title}

+

{active.answer}

+

+ Related {active.related} +

+
+
+
+ NO EMBEDDINGS + NO MODEL CALL + READ-ONLY MCP + DETERMINISTIC RESULT +
+
+ ); +} diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..b6c95fc --- /dev/null +++ b/app/globals.css @@ -0,0 +1,1078 @@ +@import "tailwindcss"; + +:root { + --color-ground: #f0ede5; + --color-paper: #f8f5ed; + --color-ink: #171713; + --color-muted: #68665e; + --color-line: #cbc5b7; + --color-line-strong: #8e897e; + --color-signal: #f2b705; + --color-signal-deep: #b45309; + --color-night: #12130f; + --color-night-soft: #1d1e18; + --color-valid: #4b7a42; + --color-focus: #1263d6; + + --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; + --font-body: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, sans-serif; + --font-mono: "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Consolas, monospace; + + --text-xs: 0.7rem; + --text-sm: 0.84rem; + --text-base: 1rem; + --text-lg: 1.2rem; + --text-xl: clamp(2.3rem, 5vw, 5.2rem); + + --space-1: 0.35rem; + --space-2: 0.65rem; + --space-3: 1rem; + --space-4: 1.5rem; + --space-6: 2.5rem; + --space-8: 4rem; + --space-12: 7rem; + + --radius-sm: 2px; + --radius-md: 5px; + --shadow-paper: 0 20px 70px rgba(31, 29, 23, 0.12); + --duration-fast: 140ms; + --duration-base: 260ms; + --ease-out: cubic-bezier(0.22, 1, 0.36, 1); +} + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + margin: 0; + background: + linear-gradient(rgba(23, 23, 19, 0.025) 1px, transparent 1px), + var(--color-ground); + background-size: 100% 32px; + color: var(--color-ink); + font-family: var(--font-body); + font-size: var(--text-base); + line-height: 1.6; + text-rendering: optimizeLegibility; +} + +body::before { + position: fixed; + inset: 0; + z-index: -1; + background-image: radial-gradient(rgba(23, 23, 19, 0.055) 0.6px, transparent 0.6px); + background-size: 5px 5px; + content: ""; + opacity: 0.35; + pointer-events: none; +} + +a { + color: inherit; +} + +a:focus-visible, +button:focus-visible { + outline: 3px solid var(--color-focus); + outline-offset: 4px; +} + +button { + font: inherit; +} + +main { + overflow: hidden; +} + +.site-header { + display: flex; + align-items: center; + justify-content: space-between; + width: min(100% - 3rem, 92rem); + min-height: 5.5rem; + margin: 0 auto; + border-bottom: 1px solid var(--color-line); +} + +.brand, +.footer-brand { + display: inline-flex; + align-items: center; + gap: 0.7rem; + font-family: var(--font-mono); + font-size: 0.92rem; + font-weight: 700; + letter-spacing: -0.04em; + text-decoration: none; +} + +.brand img, +.footer-brand img { + image-rendering: pixelated; +} + +.site-header nav { + display: flex; + align-items: center; + gap: clamp(1.1rem, 2.5vw, 2.5rem); +} + +.site-header nav a { + font-family: var(--font-mono); + font-size: var(--text-xs); + letter-spacing: 0.05em; + text-decoration: none; + text-transform: uppercase; +} + +.site-header nav a:hover, +.text-link:hover, +.footer-links a:hover { + color: var(--color-signal-deep); +} + +.hero { + display: grid; + grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr); + width: min(100% - 3rem, 92rem); + min-height: calc(100vh - 5.5rem); + margin: 0 auto; + border-bottom: 1px solid var(--color-line); +} + +.hero-copy { + display: flex; + flex-direction: column; + justify-content: center; + padding: clamp(5rem, 10vw, 10rem) clamp(2.5rem, 7vw, 7.5rem) 5rem 0; +} + +.eyebrow { + display: flex; + align-items: center; + gap: 0.7rem; + margin: 0 0 1.5rem; + color: var(--color-muted); + font-family: var(--font-mono); + font-size: var(--text-xs); + font-weight: 700; + letter-spacing: 0.09em; + text-transform: uppercase; +} + +.signal { + width: 0.55rem; + height: 0.55rem; + background: var(--color-signal); + box-shadow: 0 0 0 4px rgba(242, 183, 5, 0.16); +} + +.hero h1 { + max-width: 14ch; + margin: 0; + font-family: var(--font-display); + font-size: var(--text-xl); + font-weight: 500; + letter-spacing: -0.055em; + line-height: 0.94; +} + +.hero h1 span { + display: block; + color: var(--color-signal-deep); + font-style: italic; +} + +.hero-intro { + max-width: 39rem; + margin: 2.3rem 0 0; + color: var(--color-muted); + font-size: clamp(1.05rem, 1.7vw, 1.3rem); + line-height: 1.55; +} + +.hero-actions, +.closing-actions { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 1.35rem; + margin-top: 2.6rem; +} + +.button { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 3rem; + padding: 0.75rem 1.15rem; + border: 1px solid var(--color-ink); + border-radius: var(--radius-sm); + font-family: var(--font-mono); + font-size: var(--text-xs); + font-weight: 700; + letter-spacing: 0.04em; + text-decoration: none; + text-transform: uppercase; + transition: background var(--duration-fast), color var(--duration-fast), transform var(--duration-fast); +} + +.button:hover { + transform: translateY(-2px); +} + +.button-primary { + background: var(--color-night); + color: var(--color-paper); +} + +.button-primary:hover { + background: var(--color-signal-deep); + border-color: var(--color-signal-deep); +} + +.button-secondary { + background: transparent; +} + +.button-secondary:hover { + background: rgba(255, 255, 255, 0.3); +} + +.text-link { + font-family: var(--font-mono); + font-size: var(--text-xs); + font-weight: 700; + letter-spacing: 0.04em; + text-underline-offset: 0.3rem; + text-transform: uppercase; +} + +.hero-facts { + display: grid; + grid-template-columns: repeat(3, 1fr); + max-width: 39rem; + margin: 4.5rem 0 0; + border-top: 1px solid var(--color-line); +} + +.hero-facts div { + padding: 1rem 0; + border-right: 1px solid var(--color-line); +} + +.hero-facts div + div { + padding-left: 1rem; +} + +.hero-facts div:last-child { + border-right: 0; +} + +.hero-facts dt { + color: var(--color-muted); + font-family: var(--font-mono); + font-size: 0.64rem; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.hero-facts dd { + margin: 0.18rem 0 0; + font-size: var(--text-sm); + font-weight: 600; +} + +.hero-visual { + position: relative; + display: flex; + align-items: flex-end; + min-height: 42rem; + padding: 4rem 2rem; + background: + linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px), + linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), + var(--color-night); + background-size: 28px 28px; + overflow: hidden; +} + +.hero-visual::before { + position: absolute; + inset: 11% 8%; + border: 1px solid rgba(242, 183, 5, 0.22); + box-shadow: 18px 18px 0 rgba(242, 183, 5, 0.035); + content: ""; +} + +.brand-symbol { + position: absolute; + z-index: 1; + top: 50%; + left: 50%; + width: min(78%, 36rem); + height: auto; + mix-blend-mode: screen; + transform: translate(-50%, -50%); +} + +.ledger-mark { + position: absolute; + z-index: 2; + top: 3rem; + left: 2rem; + display: grid; + color: rgba(248, 245, 237, 0.45); + font-family: var(--font-mono); + font-size: 0.62rem; + letter-spacing: 0.18em; + line-height: 1.8; +} + +.visual-caption { + position: relative; + z-index: 2; + margin: 0; + color: var(--color-paper); + font-family: var(--font-mono); + font-size: clamp(1rem, 2vw, 1.45rem); + letter-spacing: 0.04em; +} + +.visual-caption span { + color: var(--color-signal); +} + +.console-section, +.method-section, +.boundary-section, +.ecosystem-section { + width: min(100% - 3rem, 82rem); + margin: 0 auto; + padding: var(--space-12) 0; +} + +.section-heading { + display: grid; + grid-template-columns: 1.2fr 1fr; + align-items: end; + gap: 3rem; + margin-bottom: 3rem; +} + +.section-heading .eyebrow { + grid-column: 1 / -1; + margin-bottom: -1rem; +} + +.section-heading h2, +.method-section > h2, +.install-copy h2, +.ecosystem-heading h2, +.closing-section h2 { + margin: 0; + font-family: var(--font-display); + font-size: clamp(2.2rem, 4.5vw, 4.4rem); + font-weight: 500; + letter-spacing: -0.045em; + line-height: 1; +} + +.section-heading > p:last-child, +.ecosystem-heading > p, +.install-copy > p { + max-width: 34rem; + margin: 0; + color: var(--color-muted); +} + +.decision-console { + border: 1px solid var(--color-ink); + background: var(--color-paper); + box-shadow: var(--shadow-paper); +} + +.console-tabs { + display: flex; + border-bottom: 1px solid var(--color-ink); +} + +.console-tabs button { + display: inline-flex; + align-items: center; + gap: 0.65rem; + min-height: 3.25rem; + padding: 0 1.25rem; + border: 0; + border-right: 1px solid var(--color-line); + background: transparent; + color: var(--color-muted); + cursor: pointer; + font-family: var(--font-mono); + font-size: var(--text-xs); + font-weight: 700; + letter-spacing: 0.04em; + text-transform: uppercase; +} + +.console-tabs button[aria-selected="true"] { + background: var(--color-night); + color: var(--color-paper); +} + +.tab-marker { + width: 0.4rem; + height: 0.4rem; + border: 1px solid currentColor; +} + +.console-tabs button[aria-selected="true"] .tab-marker { + background: var(--color-signal); + border-color: var(--color-signal); +} + +.console-body { + display: grid; + grid-template-columns: 1fr 1fr; + min-height: 24rem; + animation: reveal var(--duration-base) var(--ease-out); +} + +.query-pane, +.result-pane { + padding: clamp(1.5rem, 4vw, 3.2rem); +} + +.query-pane { + display: flex; + flex-direction: column; + justify-content: space-between; + border-right: 1px solid var(--color-line); +} + +.result-pane { + background: + linear-gradient(rgba(248,245,237,0.04) 1px, transparent 1px), + var(--color-night-soft); + background-size: 100% 30px; + color: var(--color-paper); +} + +.console-label, +.terminal-bar { + display: flex; + justify-content: space-between; + color: var(--color-muted); + font-family: var(--font-mono); + font-size: 0.62rem; + font-weight: 700; + letter-spacing: 0.1em; + text-transform: uppercase; +} + +.query-pane blockquote { + margin: 2.5rem 0; + font-family: var(--font-display); + font-size: clamp(1.8rem, 3.1vw, 3rem); + line-height: 1.1; +} + +.query-route { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.55rem; + color: var(--color-muted); + font-family: var(--font-mono); + font-size: 0.65rem; +} + +.query-route span:nth-child(odd) { + padding: 0.3rem 0.4rem; + border: 1px solid var(--color-line); + background: rgba(255, 255, 255, 0.3); +} + +.verified { + color: #9ac08f; +} + +.artifact-id { + margin: 3rem 0 0.6rem; + color: var(--color-signal); + font-family: var(--font-mono); + font-size: var(--text-sm); + font-weight: 700; + letter-spacing: 0.08em; +} + +.result-pane h3 { + margin: 0; + font-family: var(--font-display); + font-size: clamp(1.9rem, 3vw, 2.8rem); + font-weight: 500; + line-height: 1.05; +} + +.artifact-answer { + max-width: 34rem; + margin-top: 1.5rem; + color: #cfcdc5; +} + +.artifact-related { + margin-top: 2rem; + color: #888980; + font-family: var(--font-mono); + font-size: 0.7rem; + letter-spacing: 0.05em; + text-transform: uppercase; +} + +.artifact-related span { + color: var(--color-paper); +} + +.console-footer { + display: grid; + grid-template-columns: repeat(4, 1fr); + border-top: 1px solid var(--color-ink); + font-family: var(--font-mono); + font-size: 0.6rem; + font-weight: 700; + letter-spacing: 0.07em; + text-align: center; +} + +.console-footer span { + padding: 0.75rem 0.4rem; + border-right: 1px solid var(--color-line); +} + +.console-footer span:last-child { + border-right: 0; +} + +.method-section { + width: 100%; + padding-right: max(1.5rem, calc((100% - 82rem) / 2)); + padding-left: max(1.5rem, calc((100% - 82rem) / 2)); + background: var(--color-night); + color: var(--color-paper); +} + +.section-kicker { + display: flex; + justify-content: space-between; + padding-bottom: 1rem; + border-bottom: 1px solid #3d3d36; + color: #8d8e84; + font-family: var(--font-mono); + font-size: 0.65rem; + letter-spacing: 0.08em; +} + +.method-section > h2 { + max-width: 12ch; + margin-top: 4rem; +} + +.principle-list { + margin-top: 5rem; + border-top: 1px solid #3d3d36; +} + +.principle { + display: grid; + grid-template-columns: 5rem 0.7fr 1.3fr; + align-items: baseline; + gap: 1.5rem; + padding: 2rem 0; + border-bottom: 1px solid #3d3d36; +} + +.principle-number { + color: var(--color-signal); + font-family: var(--font-mono); + font-size: var(--text-xs); +} + +.principle h3 { + margin: 0; + font-family: var(--font-display); + font-size: 2rem; + font-weight: 500; +} + +.principle p { + max-width: 35rem; + margin: 0; + color: #aaa99f; +} + +.install-section { + display: grid; + grid-template-columns: 0.8fr 1.2fr; + gap: clamp(3rem, 8vw, 8rem); + width: min(100% - 3rem, 82rem); + margin: 0 auto; + padding: var(--space-12) 0; +} + +.install-copy h2 { + max-width: 10ch; +} + +.install-copy > p { + margin: 2rem 0; +} + +.terminal { + align-self: center; + border: 1px solid var(--color-ink); + background: var(--color-night); + color: var(--color-paper); + box-shadow: 14px 14px 0 var(--color-signal); +} + +.terminal-bar { + padding: 0.75rem 1rem; + border-bottom: 1px solid #3d3d36; + color: #8d8e84; +} + +.terminal ol { + margin: 0; + padding: 1.6rem 0; + list-style: none; +} + +.terminal li { + display: grid; + grid-template-columns: 3.5rem 1fr; + padding: 0.55rem 1rem; +} + +.line-number { + color: #5f6058; + font-family: var(--font-mono); + font-size: 0.68rem; +} + +.terminal code { + overflow-x: auto; + color: #e5e2d9; + font-family: var(--font-mono); + font-size: clamp(0.66rem, 1.2vw, 0.82rem); + white-space: nowrap; +} + +.terminal-result { + display: flex; + gap: 0.7rem; + padding: 1rem; + border-top: 1px solid #3d3d36; + color: #9ac08f; + font-family: var(--font-mono); + font-size: 0.7rem; +} + +.boundary-section { + border-top: 1px solid var(--color-line); +} + +.boundary-grid { + display: grid; + grid-template-columns: 1fr 7rem 1fr; + margin-top: 4rem; +} + +.boundary-side { + min-height: 20rem; + padding: clamp(2rem, 5vw, 4rem); + border: 1px solid var(--color-ink); +} + +.boundary-agent { + background: var(--color-paper); +} + +.boundary-human { + background: var(--color-signal); +} + +.boundary-label { + font-family: var(--font-mono); + font-size: 0.65rem; + font-weight: 700; + letter-spacing: 0.09em; +} + +.boundary-side h3 { + margin: 5rem 0 1rem; + font-family: var(--font-display); + font-size: clamp(2rem, 3.4vw, 3.2rem); + font-weight: 500; + line-height: 1; +} + +.boundary-side p { + max-width: 29rem; + margin: 0; +} + +.boundary-line { + display: grid; + place-items: center; + position: relative; +} + +.boundary-line::before { + position: absolute; + width: 1px; + height: 100%; + background: var(--color-ink); + content: ""; +} + +.boundary-line span { + z-index: 1; + padding: 0.7rem 0.35rem; + background: var(--color-ground); + font-family: var(--font-mono); + font-size: 0.6rem; + font-weight: 700; + letter-spacing: 0.08em; + writing-mode: vertical-rl; +} + +.ecosystem-section { + border-top: 1px solid var(--color-line); +} + +.ecosystem-heading { + display: grid; + grid-template-columns: 1fr 0.65fr; + align-items: end; + gap: 4rem; +} + +.repository-list { + margin-top: 4rem; + border-top: 1px solid var(--color-ink); +} + +.repository-row { + display: grid; + grid-template-columns: 0.7fr 1.5fr 0.55fr auto; + align-items: center; + gap: 2rem; + min-height: 5.5rem; + border-bottom: 1px solid var(--color-line); + text-decoration: none; + transition: padding var(--duration-base) var(--ease-out), background var(--duration-fast); +} + +.repository-row:hover { + padding: 0 1rem; + background: rgba(248, 245, 237, 0.65); +} + +.repository-name { + font-family: var(--font-display); + font-size: 1.5rem; +} + +.repository-description { + color: var(--color-muted); +} + +.repository-status { + justify-self: start; + padding: 0.28rem 0.45rem; + border: 1px solid var(--color-line-strong); + font-family: var(--font-mono); + font-size: 0.58rem; + font-weight: 700; + letter-spacing: 0.05em; + text-transform: uppercase; +} + +.closing-section { + width: min(100% - 3rem, 92rem); + margin: 0 auto; + padding: var(--space-12) clamp(1.5rem, 7vw, 7rem); + background: + linear-gradient(90deg, transparent 49.8%, rgba(242, 183, 5, 0.18) 50%, transparent 50.2%), + var(--color-night); + color: var(--color-paper); + text-align: center; +} + +.closing-index { + color: var(--color-signal); + font-family: var(--font-mono); + font-size: 0.68rem; + letter-spacing: 0.1em; +} + +.closing-section h2 { + max-width: 16ch; + margin: 2rem auto 0; +} + +.closing-actions { + justify-content: center; +} + +.closing-section .button-primary { + background: var(--color-signal); + border-color: var(--color-signal); + color: var(--color-ink); +} + +.closing-section .button-secondary { + border-color: #5a5a52; + color: var(--color-paper); +} + +footer { + display: grid; + grid-template-columns: 1fr 1.5fr 1fr; + align-items: center; + gap: 2rem; + width: min(100% - 3rem, 92rem); + min-height: 8rem; + margin: 0 auto; +} + +footer > p { + color: var(--color-muted); + font-size: var(--text-sm); + text-align: center; +} + +.footer-links { + display: flex; + justify-content: flex-end; + gap: 1.5rem; +} + +.footer-links a { + font-family: var(--font-mono); + font-size: var(--text-xs); + text-transform: uppercase; +} + +@keyframes reveal { + from { + opacity: 0; + transform: translateY(8px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +@media (max-width: 950px) { + .hero { + grid-template-columns: 1fr; + } + + .hero-copy { + min-height: calc(100vh - 5.5rem); + padding-right: 0; + } + + .hero-visual { + min-height: 38rem; + } + + .section-heading, + .install-section, + .ecosystem-heading { + grid-template-columns: 1fr; + } + + .console-body { + grid-template-columns: 1fr; + } + + .query-pane { + border-right: 0; + border-bottom: 1px solid var(--color-line); + } + + .principle { + grid-template-columns: 3.5rem 0.7fr 1.3fr; + } + + .boundary-grid { + grid-template-columns: 1fr; + } + + .boundary-line { + height: 5rem; + } + + .boundary-line::before { + width: 100%; + height: 1px; + } + + .boundary-line span { + writing-mode: horizontal-tb; + } + + .repository-row { + grid-template-columns: 0.65fr 1.4fr auto; + } + + .repository-status { + display: none; + } +} + +@media (max-width: 680px) { + :root { + --space-12: 5.5rem; + } + + .site-header, + .hero, + .console-section, + .install-section, + .boundary-section, + .ecosystem-section, + .closing-section, + footer { + width: min(100% - 2rem, 92rem); + } + + .site-header nav a:not(:last-child) { + display: none; + } + + .hero-copy { + min-height: auto; + padding: 5rem 0 4rem; + } + + .hero h1 { + font-size: clamp(3.1rem, 15vw, 4.8rem); + } + + .hero-facts { + grid-template-columns: 1fr; + } + + .hero-facts div, + .hero-facts div + div { + padding: 0.7rem 0; + border-right: 0; + border-bottom: 1px solid var(--color-line); + } + + .hero-visual { + min-height: 31rem; + margin-right: -1rem; + margin-left: -1rem; + padding: 2rem 1rem; + } + + .brand-symbol { + width: 86%; + } + + .section-heading { + gap: 1.5rem; + } + + .console-tabs { + overflow-x: auto; + } + + .console-tabs button { + flex: 0 0 auto; + } + + .console-footer { + grid-template-columns: 1fr 1fr; + } + + .console-footer span:nth-child(2) { + border-right: 0; + } + + .console-footer span:nth-child(-n + 2) { + border-bottom: 1px solid var(--color-line); + } + + .principle { + grid-template-columns: 2.5rem 1fr; + } + + .principle p { + grid-column: 2; + } + + .section-kicker span { + display: none; + } + + .terminal { + box-shadow: 7px 7px 0 var(--color-signal); + } + + .boundary-side { + min-height: 18rem; + } + + .repository-row { + grid-template-columns: 1fr auto; + gap: 0.5rem; + padding: 1.1rem 0; + } + + .repository-description { + grid-column: 1 / -1; + grid-row: 2; + } + + footer { + grid-template-columns: 1fr; + padding: 2.5rem 0; + text-align: center; + } + + .footer-brand, + .footer-links { + justify-content: center; + } + + footer > p { + margin: 0; + } +} + +@media (prefers-reduced-motion: reduce) { + html { + scroll-behavior: auto; + } + + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-duration: 0.01ms !important; + } +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..aa5763f --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,39 @@ +import type { Metadata } from "next"; +import "./globals.css"; + +export const metadata: Metadata = { + metadataBase: new URL("https://asdecided.github.io"), + title: { + default: "AsDecided — Engineering decisions your agents can follow", + template: "%s · AsDecided", + }, + description: + "A local, deterministic system of record for the product decisions behind your code.", + icons: { + icon: "/favicon.png", + shortcut: "/favicon.png", + }, + openGraph: { + title: "AsDecided", + description: "Engineering decisions your agents can follow. Build, as decided.", + type: "website", + siteName: "AsDecided", + }, + twitter: { + card: "summary_large_image", + title: "AsDecided", + description: "Engineering decisions your agents can follow. Build, as decided.", + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..bc8a38a --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,288 @@ +import { DecisionConsole } from "./DecisionConsole"; + +const repositories = [ + { + name: "Core", + status: "Available", + description: "The native Rust CLI and read-only MCP server.", + href: "https://github.com/asdecided/core", + }, + { + name: "Specification", + status: "Open contract", + description: "The language-neutral RAC schemas and conformance fixtures.", + href: "https://github.com/asdecided/spec", + }, + { + name: "CI", + status: "Available", + description: "GitHub Actions that make the record part of the merge gate.", + href: "https://github.com/asdecided/ci", + }, + { + name: "Connectors", + status: "Pre-release", + description: "Explicit bridges from external systems into the decision record.", + href: "https://github.com/asdecided/connectors", + }, + { + name: "Proofkeeper", + status: "Available", + description: "Turns a recorded capability into a test that can be run again.", + href: "https://github.com/asdecided/proofkeeper", + }, + { + name: "Benchmarks", + status: "Measured", + description: "Deterministic evaluation without an LLM judge.", + href: "https://github.com/asdecided/benchmarks", + }, +]; + +const principles = [ + { + number: "01", + title: "Record", + copy: "Requirements, decisions, designs, roadmaps, and prompts stay as typed Markdown beside the code they govern.", + }, + { + number: "02", + title: "Reject", + copy: "The native engine catches malformed artifacts, broken relationships, and retired decisions before they land.", + }, + { + number: "03", + title: "Ground", + copy: "Coding agents query a read-only MCP server and cite the current record by stable artifact ID.", + }, +]; + +function Arrow() { + return ; +} + +export default function Home() { + return ( +
+
+ + + AsDecided + + +
+ +
+
+

+

+

+ Your agents can move fast + without rewriting the past. +

+

+ AsDecided keeps the product decisions behind your code in a typed, + validated record your coding agents can actually follow. +

+ +
+
+
Runtime
+
Native Rust
+
+
+
Retrieval
+
Deterministic
+
+
+
Storage
+
Markdown + Git
+
+
+
+ +
+ + AsDecided stepped decision-link mark +

Build, as decided.

+
+
+ +
+
+

The signature interaction

+

Ask the repository, not another model.

+

+ Retrieval makes no model call and uses no embeddings. The same + record and query produce the same cited result. +

+
+ +
+ +
+
+

THE METHOD

+ Three moves. One governed record. +
+

Decisions become infrastructure.

+
+ {principles.map((principle) => ( +
+ {principle.number} +

{principle.title}

+

{principle.copy}

+
+ ))} +
+
+ +
+
+

Five-minute start

+

Put one real decision on the record.

+

+ Install the native engine and MCP server, scaffold a first artifact, + then validate it before connecting an agent. +

+ + Follow the complete quickstart + +
+
+
+ TERMINAL / YOUR REPOSITORY + LOCAL +
+
    +
  1. + 01 + brew install asdecided/tap/asdecided-core +
  2. +
  3. + 02 + decided quickstart +
  4. +
  5. + 03 + decided validate decisions/ +
  6. +
+
+ + Record valid. Ready for review. +
+
+
+ +
+
+

A deliberately narrow trust boundary

+

Your agent can read the record. It cannot rewrite it.

+
+
+
+ AGENT SIDE +

Search. Retrieve. Cite.

+

+ The MCP surface is read-only. Agents get grounded context without + gaining a hidden write path into your decisions. +

+
+ +
+ HUMAN SIDE +

Edit. Review. Merge.

+

+ Decisions change through ordinary files and pull requests, with + validation and history visible to the team. +

+
+
+
+ +
+
+
+

The public system

+

Small repositories. Explicit responsibilities.

+
+

+ Core is the runtime. Everything else owns one boundary around it. + Status is stated plainly while the ecosystem is still taking shape. +

+
+
+ {repositories.map((repository) => ( + + {repository.name} + {repository.description} + {repository.status} + + + ))} +
+
+ +
+

AS DECIDED / 001

+

Make the decision once. Let every agent inherit it.

+
+ + Start with Core + + + Explore the organization + +
+
+ +
+
+ + AsDecided +
+

Engineering decisions your agents can follow. Build, as decided.

+
+ Core + Spec + GitHub +
+
+
+ ); +} diff --git a/build/sites-vite-plugin.ts b/build/sites-vite-plugin.ts new file mode 100644 index 0000000..26563fd --- /dev/null +++ b/build/sites-vite-plugin.ts @@ -0,0 +1,45 @@ +import { access, cp, mkdir, rm } from "node:fs/promises"; +import { resolve } from "node:path"; +import type { Plugin } from "vite"; + +async function exists(path: string): Promise { + try { + await access(path); + return true; + } catch (error) { + if ((error as NodeJS.ErrnoException).code === "ENOENT") { + return false; + } + throw error; + } +} + +// Packages Sites metadata and migrations after Vite finishes compiling. +export function sites(): Plugin { + let root = process.cwd(); + + return { + name: "sites", + apply: "build", + configResolved(config) { + root = config.root; + }, + async closeBundle() { + const outputDirectory = resolve(root, "dist", ".openai"); + const hostingConfig = resolve(root, ".openai", "hosting.json"); + const drizzleSource = resolve(root, "drizzle"); + + await rm(outputDirectory, { recursive: true, force: true }); + await mkdir(outputDirectory, { recursive: true }); + + if (await exists(hostingConfig)) { + await cp(hostingConfig, resolve(outputDirectory, "hosting.json")); + } + if (await exists(drizzleSource)) { + await cp(drizzleSource, resolve(outputDirectory, "drizzle"), { + recursive: true, + }); + } + }, + }; +} diff --git a/docs/core/.gitkeep b/docs/core/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/docs/core/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/essays.md b/docs/essays.md deleted file mode 100644 index f85b745..0000000 --- a/docs/essays.md +++ /dev/null @@ -1,15 +0,0 @@ -# Essays - -Longer-form writing from the asdecided team — on requirements-as-code, -agent-grounded knowledge, and the RAC specification. An essay lives -wherever it makes most sense (a spec announcement lives with the spec's -own section; others may not), and is indexed here regardless. - -
-
-

AsDecided Spec · 2026

-

Requirements as Code: a strict semantic layer over OKF

-

Why RAC specifies a strict, enforced semantic layer for prescriptive - knowledge on top of OKF's deliberately permissive carrier.

-
-
diff --git a/docs/fonts/InterVariable-Italic.woff2 b/docs/fonts/InterVariable-Italic.woff2 deleted file mode 100644 index 2f06c65192b03b43e343717cc24fafb0e36e87a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51832 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∾Na#*TBTU(!jF?9zmR-!C*+RdvGrd0&{`| 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%0Ddcj8X3J9~{o-o7w)Z3wT5UvDl63qK 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%0AVc&<#wfCtYL02i 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 diff --git a/docs/fonts/OFL.txt b/docs/fonts/OFL.txt deleted file mode 100644 index 5ceee00..0000000 --- a/docs/fonts/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/images/favicon.png b/docs/images/favicon.png deleted file mode 100644 index 193d486c00d56c670fce4491bc74b8f56b763ce5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2213 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 WW~@GMChUKH(9zQ|(k{D)iu^y@sqxhS diff --git a/docs/images/social-card.png b/docs/images/social-card.png deleted file mode 100644 index 8c6956bef0ebb6f82ff60e14fa6d494e98a9f88f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54415 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 diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 040c884..0000000 --- a/docs/index.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -template: home.html -hide: - - navigation - - toc ---- - -**AsDecided** keeps a team's recorded -requirements, decisions, and designs as typed Markdown in the repo, -validates them in CI, and serves them read-only to coding agents over MCP. - -``` -brew install asdecided/tap/asdecided-core -``` - -## How it works - -
-
01

Record

-

Requirements, decisions, and designs live as typed Markdown in your repo, - versioned next to the code.

-
02

Validate

-

CI rejects malformed artifacts, broken links, and references to superseded - decisions before they land.

-
03

Serve

-

Your agent queries AsDecided over MCP and cites - decisions by ID instead of violating them.

-
- -> Ask your agent: *"Should I add a hard delete to the user model?"* — it calls -> Lore, finds your soft-delete decision, cites it by ID, and proposes the -> compliant change instead of reintroducing what you removed on purpose. - -Serving happens over the [AsDecided MCP server](core/mcp.md); the -[`decided` CLI](core/cli.md) covers validation and inspection. - -## Why it's different - -
-

Deterministic, not probabilistic

-

Retrieval makes no model calls and uses no embeddings. The same query - returns the same answer, every run.

-

Read-only by design

-

Agents cite decisions by ID; they can never mutate the store. Changes - land only through human-reviewed pull requests.

-

Plain Markdown in your repo

-

No database, no vendor lock-in. Your knowledge is versioned next to - your code and readable without any tool.

-

Enforced in CI, air-gap friendly

-

Broken links and superseded references are rejected before they land. - Runs fully offline — nothing leaves your machine.

-
- -## The ecosystem - -
-

Core

-

The native Rust engine: the decided CLI, validation gates, and the read-only MCP - server. This is what you install.

-

Proofkeeper

-

Turns each recorded capability into a re-runnable Playwright test, - proposed back by pull request.

-

Wayfinder

-

Deterministic prompt-complexity routing — a hard-or-easy call on every - prompt, offline, no model call.

-

SDK

-

Non-Python language SDKs — thin clients over the engine's stable - --json contracts.

-

Editors

-

IDE and editor integrations, one subdir per client.

-

CI

-

The CI delivery surface — validation and gating wrappers, GitHub - first.

-

Benchmarks

-

Evaluation suites, one subdir per benchmark.

-
- -Plus connectors and everything else — see the -[full repository map](core/ecosystem.md) or the -[AsDecided organization on GitHub](https://github.com/asdecided). - -

RAC remains the stable artifact contract underneath. -asdecided-core installs the native CLI and MCP server together.

- -
diff --git a/docs/spec/why-strict.md b/docs/spec/why-strict.md deleted file mode 100644 index 98e09db..0000000 --- a/docs/spec/why-strict.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: "Requirements as Code: a strict semantic layer over OKF" -description: >- - Why RAC specifies a strict, enforced semantic layer for prescriptive - knowledge — identity, status lifecycle, typed relationships, write-time - enforcement — on top of OKF's deliberately permissive carrier. ---- - -# Requirements as Code: a strict semantic layer over OKF - -Three weeks ago, Google Cloud published the Open Knowledge Format — a -deliberately minimal, deliberately permissive convention for representing -organizational knowledge as a Git tree of Markdown files with YAML -frontmatter. One required field. Consumers are forbidden from rejecting a -bundle over unknown types, missing fields, or broken cross-links. It is a -good spec, and its permissiveness is the correct design for its job. - -This essay is about why we built the opposite thing on top of it, and -published the specification for it today. - -## The problem OKF doesn't try to solve - -If you run coding agents seriously — Claude Code, Cursor, anything that -writes code against your repo — you have watched an agent confidently -re-introduce a decision your team explicitly ruled out six months ago. The -knowledge existed. It was in an ADR, or a design doc, or a Slack thread -someone summarized into Confluence. The agent didn't have it, or had a stale -version of it, or had it and had no way to know it had been superseded. - -OKF addresses the first failure: it gives knowledge a portable, -agent-readable carrier. What it deliberately does not address — its own spec -says the meaning of a link between concepts is "conveyed by the surrounding -prose, not by the link itself" — is the semantics. Whether a document is -current or retracted, whether a link means implements or supersedes or -contradicts, whether an agent citing this artifact is grounding itself or -poisoning itself: OKF leaves all of that to producers and consumers to work -out. - -For descriptive knowledge — table schemas, metric definitions, runbooks — -that's fine. Descriptive knowledge degrades gracefully. An agent reading a -slightly stale description of your orders table writes a slightly worse -query. - -Prescriptive knowledge does not degrade gracefully. An agent citing a -superseded architecture decision re-introduces the exact mistake your team -already paid to rule out. The failure mode isn't degraded output; it's -confident regression, delivered with a citation. - -## What the AsDecided specification specifies - -RAC (Requirements as Code) is the semantic layer for prescriptive -knowledge — requirements, decisions, designs — written on the same carrier -OKF standardizes. Today we're publishing the RAC specification as its own -versioned document, separate from AsDecided Core, the reference implementation -that has been dogfooding it across 29 releases. - -The spec formalizes four things the carrier layer leaves open: - -**Identity that survives refactoring.** OKF's concept identity is the file -path. Paths break on rename, and a growing corpus gets refactored -constantly. RAC artifacts carry an explicit id; links resolve by id, and a -file move is a non-event. - -**A closed status lifecycle.** Every artifact has a status from a closed -enum with defined legal transitions, including supersession: when a -decision is superseded, that fact is machine-readable, and a conformant -consumer MUST refuse to present the artifact as current. Not SHOULD. MUST. - -**Typed relationships with referential integrity.** Links carry a relation -type from a closed vocabulary — `supersedes` (the one directional, acyclic -edge), the `related-*` family scoped by target type (decisions, -requirements, roadmaps, prompts, designs), and the external-reference edges -(`verified-by`, `applies-to`, `related-tickets`) that point outside the -corpus without skipping validation. The validator checks that targets exist -and that nothing references a retired decision. Where OKF says relationship -meaning lives in the surrounding prose, RAC says: agents cannot be trusted -to infer edge semantics from prose. That inference gap is precisely the -failure this spec exists to close. - -**Enforcement with a severity model.** Every validation finding lands in -one of four severity tiers; tiers 1 and 2 are conformance-breaking and fail -CI, tiers 3 and 4 are advisory. The check-to-tier mapping is a normative -table in the spec, not an implementation detail. `rac gate` runs in CI and -rejects malformed artifacts, broken links, and references to superseded -decisions before the knowledge lands — write-time enforcement, because the -entire value of a system of record is that you can trust what's in it. - -And one thing that follows from strictness: every corpus declares the spec -version it targets, and a consumer that encounters a version newer than it -supports fails with a diagnostic naming both versions. OKF has a version -declaration too, but pairs it with best-effort consumption; ours is paired -with refusal, because a strict validator that can't tell you why a corpus -fails is worse than no validator at all. - -## Composition, not competition - -A RAC corpus exports to a conformant OKF bundle with one command — -`rac export --okf`. Our extra frontmatter rides as producer-defined keys, -which OKF consumers are required to preserve. So any OKF consumer can read a -RAC corpus. - -The reverse is not generally possible. You cannot take an arbitrary -permissive bundle and recover validated lifecycle state, typed relations, -and referential integrity that were never enforced at write time. That -asymmetry is the point: OKF standardizes the carrier; RAC specifies what one -specific, high-stakes category of knowledge needs the carrier to guarantee. - -## What this is not - -It is not a general knowledge format — that's OKF's job, and we compose -with it rather than replicate it. It is not a retrieval or RAG system; -fuzzy recall and deterministic verification are different tools, and they -stack (recall fuzzily elsewhere, verify here). It is not a project-management -or ticketing replacement. And it does not prescribe MCP or any serving -layer — the reference implementation serves over MCP, the spec doesn't -care. - -It is also not a standard. It's a specification with exactly one -implementation, published so that a second one can exist. The spec repo is -versioned independently of the reference implementation, the vocabularies -are closed enums with a stated compatibility policy, and the conformance -section defines what a producer and a consumer must each do — everything a -second implementer needs and nothing they'd have to reverse-engineer from -our Python. - -If you're running agents against team knowledge and you've hit the -confident-regression failure, the spec is at -[github.com/asdecided/spec](https://github.com/asdecided/spec/blob/main/SPEC.md), -the reference implementation is `brew install asdecided/tap/asdecided-core`, and the fastest way -to form an opinion is to run `rac validate` against the examples directory -and read what it rejects and why. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css deleted file mode 100644 index c935590..0000000 --- a/docs/stylesheets/extra.css +++ /dev/null @@ -1,473 +0,0 @@ -/* - * Lore org-site theme — near-white ground, near-black text, one deep-amber - * accent, driving MkDocs Material's default (light) scheme. - * - * The site shares exactly three brand constants with rac-localview (the - * runtime product UI): the amber hue (deep #B45309 on this light ground, - * bright in the dark product UI), JetBrains Mono as the voice of code, and - * the lamplighter at favicon size only. Ground, body type, border style, - * and corner language are per-surface — the site and the product rhyme, - * they do not match. - */ - -/* ---- fonts (self-hosted, no external requests) ---------------------- */ -@font-face { - font-family: "Inter"; - src: url("../fonts/InterVariable.woff2") format("woff2"); - font-weight: 100 900; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "Inter"; - src: url("../fonts/InterVariable-Italic.woff2") format("woff2"); - font-weight: 100 900; - font-style: italic; - font-display: swap; -} -@font-face { - font-family: "JetBrains Mono"; - src: url("../fonts/JetBrainsMono-Regular.woff2") format("woff2"); - font-weight: 400; - font-style: normal; - font-display: swap; -} -@font-face { - font-family: "JetBrains Mono"; - src: url("../fonts/JetBrainsMono-Bold.woff2") format("woff2"); - font-weight: 700; - font-style: normal; - font-display: swap; -} - -/* ---- design tokens --------------------------------------------------- */ -:root { - /* surfaces — near-white, one whisper of warmth for continuity with amber */ - --lore-bg: #fcfcfb; - --lore-bg-panel: #f6f6f4; /* code blocks, footer, search field */ - --lore-bg-element: #efefed; /* inline code, chips */ - - /* text */ - --lore-text: #111113; /* ~18:1 on bg — AAA */ - --lore-text-muted: #63635e; /* ~5.9:1 on bg, ~5.6:1 on panel — AA */ - - /* borders — low-alpha solid hairlines, never opaque tan */ - --lore-border-subtle: rgba(17, 17, 19, 0.07); - --lore-border: rgba(17, 17, 19, 0.12); - - /* accent — ONE hue: links, active nav, focus. Nothing structural. */ - --lore-accent: #B45309; /* 4.9:1 on bg — AA normal text */ - --lore-accent-hover: #92400E; /* ~6.5:1 */ - --lore-accent-bright: #f5a623; /* focus rings / non-text touches ONLY */ - - /* semantic */ - --lore-success: #1f7a43; /* success states only, never links */ - - /* primary action (Vercel-style near-black button) */ - --lore-btn-bg: #111113; - --lore-btn-bg-hover: #27272a; - --lore-btn-fg: #ffffff; /* ~17.8:1 */ - - /* radii — decided once, used everywhere */ - --lore-radius-sm: 6px; /* inline code, chips, copy button */ - --lore-radius-md: 8px; /* buttons, code blocks, install card, search */ - --lore-radius-lg: 12px; /* cards / panels */ - - /* type */ - --lore-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; - --lore-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace; - - /* shadow — one value, cards only, optional */ - --lore-shadow-card: 0 1px 2px rgba(17, 17, 19, 0.04); -} - -/* ---- Material scheme wiring ------------------------------------------ */ -/* Drive Material's default (light) scheme from the lore palette. */ -[data-md-color-scheme="default"] { - --md-default-bg-color: var(--lore-bg); - --md-default-fg-color: var(--lore-text); - --md-default-fg-color--light: var(--lore-text-muted); - --md-default-fg-color--lighter: var(--lore-text-muted); - --md-default-fg-color--lightest: var(--lore-border-subtle); - - /* header ground = page ground; the hairline + blur distinguish it */ - --md-primary-fg-color: var(--lore-bg); - --md-primary-bg-color: var(--lore-text); - --md-primary-bg-color--light: var(--lore-text-muted); - - /* Material uses accent-fg for link hover */ - --md-accent-fg-color: var(--lore-accent-hover); - - --md-typeset-color: var(--lore-text); - --md-typeset-a-color: var(--lore-accent); - - --md-code-bg-color: var(--lore-bg-panel); - --md-code-fg-color: var(--lore-text); - - /* footer contrast fix */ - --md-footer-bg-color: var(--lore-bg-panel); - --md-footer-bg-color--dark: var(--lore-bg-panel); - --md-footer-fg-color: var(--lore-text); - --md-footer-fg-color--light: var(--lore-text-muted); - --md-footer-fg-color--lighter: var(--lore-text-muted); - - --md-text-font-family: var(--lore-sans); - --md-code-font-family: var(--lore-mono); -} - -/* Belt-and-braces alongside the Material var. */ -body, -.md-typeset { - font-family: var(--lore-sans); -} - -/* ---- headings — near-black, weight hierarchy ------------------------- */ -.md-typeset h1, -.md-typeset h2, -.md-typeset h3 { - color: var(--lore-text); - font-weight: 600; -} -.md-typeset h1 { - font-size: 2rem; - line-height: 1.2; - letter-spacing: -0.02em; -} -.md-typeset h2 { - font-size: 1.4rem; - line-height: 1.3; - letter-spacing: -0.02em; - margin-top: 3rem; -} -.md-typeset h3 { - font-size: 1.1rem; - line-height: 1.4; - letter-spacing: -0.01em; -} - -/* ---- header ----------------------------------------------------------- */ -.md-header { - background: rgba(252, 252, 251, 0.85); - -webkit-backdrop-filter: blur(8px); - backdrop-filter: blur(8px); - border-bottom: 1px solid var(--lore-border-subtle); - color: var(--lore-text); - box-shadow: none; -} -/* Lamplighter at icon size — one of the three shared brand constants - (ADR-102). 64px pixel art shown at 32px: a clean 2:1 integer downscale, - kept crisp with pixelated rendering. */ -.md-header__button.md-logo { - padding: 0.4rem 0.2rem 0.4rem 0; -} -.md-header__button.md-logo img { - width: 32px; - height: 32px; - image-rendering: pixelated; -} -/* Wordmark in the brand's mono voice, tying the site to the product UI. */ -.md-header__title { - font-family: var(--lore-mono); - font-weight: 700; - letter-spacing: -0.01em; - font-size: 1rem; -} -.md-search__form { - background: var(--lore-bg-element); - border-radius: var(--lore-radius-md); -} - -/* ===================================================================== */ -/* Splash home (overrides/home.html) */ -/* ===================================================================== */ -.lore-splash { - display: flex; - flex-direction: column; - gap: 1.5rem; - text-align: center; - max-width: 52rem; - margin: 0 auto; - padding: 5.5rem 0 4rem; -} - -/* Prefixed with .md-typeset: the splash renders inside Material's article, - so these must out-rank .md-typeset h1/p element rules (incl. their large - element margins, which otherwise leak into the flex gaps). */ -/* Shared eyebrow style: hero and any front-and-centre callout. */ -.md-typeset .lore-splash__eyebrow, -.md-typeset .eyebrow { - font-size: 0.75rem; - font-weight: 600; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--lore-text-muted); - line-height: 1; - margin: 0; -} - -.md-typeset .lore-splash__title { - color: var(--lore-text) !important; - font-size: clamp(2.25rem, 5vw, 3rem); - font-weight: 650; - line-height: 1.12; - letter-spacing: -0.03em; - max-width: 46rem; - margin: 0 auto; -} - -.md-typeset .lore-splash__sub { - font-size: 1.125rem; - color: var(--lore-text-muted); - line-height: 1.6; - max-width: 38rem; - margin: 0 auto; -} - -/* Actions band beneath the headline. */ -.lore-splash__actions { - display: flex; - flex-direction: column; - gap: 1.25rem; -} - -/* ---- install card ----------------------------------------------------- */ -.lore-install { - display: flex; - align-items: center; - gap: 0.5rem; - max-width: 30rem; - width: 100%; - margin: 0 auto; - background: var(--lore-bg-panel); - border: 1px solid var(--lore-border-subtle); - border-radius: var(--lore-radius-md); - padding: 0.65rem 0.85rem; -} -/* .md-typeset prefix: must out-rank the docs-polish .md-typeset code chip - rule, or the command renders as a boxed chip inside the boxed card. */ -.md-typeset .lore-install code { - flex: 1 1 auto; - font-family: var(--lore-mono); - font-size: 0.875em; - color: var(--lore-text); - font-weight: 500; - background: none; - padding: 0; - text-align: left; - white-space: nowrap; - overflow-x: auto; -} -.lore-install__prompt { - color: var(--lore-text-muted); - font-family: var(--lore-mono); - user-select: none; -} -.lore-install__copy { - flex: 0 0 auto; - border: 1px solid var(--lore-border); - border-radius: var(--lore-radius-sm); - background: var(--lore-bg); - color: var(--lore-text); - font-family: var(--lore-sans); - font-size: 0.8125rem; - padding: 0.1rem 0.5rem; - cursor: pointer; - transition: border-color 120ms, color 120ms; -} -.lore-install__copy:hover { - border-color: var(--lore-accent); - color: var(--lore-accent); -} -.lore-install__copy.is-copied { - color: var(--lore-success); - border-color: var(--lore-success); -} - -.md-typeset .lore-splash__note { - color: var(--lore-text-muted); - font-size: 0.875rem; - line-height: 1.6; - margin: 0; -} -.md-typeset .lore-splash__note code { - background: none; - color: var(--lore-text); - padding: 0; -} - -/* Org-wide star count (scripts/fetch-org-stats.sh); hidden entirely when - the count is 0 (see the Jinja guard in overrides/home.html). */ -.md-typeset .lore-splash__stars { - margin: -0.5rem 0 0; - font-size: 0.8125rem; -} -.md-typeset .lore-splash__stars a { - color: var(--lore-text-muted); - text-decoration: none; -} -.md-typeset .lore-splash__stars a:hover { - color: var(--lore-accent); -} - -/* ---- buttons ----------------------------------------------------------- */ -.lore-cta { - display: flex; - flex-wrap: wrap; - gap: 0.75rem; - justify-content: center; -} -/* Secondary (default) button: quiet outline. */ -.lore-btn { - display: inline-block; - padding: 0.625rem 1.25rem; - background: transparent; - border: 1px solid var(--lore-border); - border-radius: var(--lore-radius-md); - color: var(--lore-text) !important; - font-family: var(--lore-sans); - font-weight: 500; - font-size: 0.9375rem; - text-decoration: none; - transition: border-color 120ms, color 120ms, background 120ms; -} -.lore-btn:hover { - border-color: rgba(17, 17, 19, 0.24); -} -/* Primary: near-black fill. */ -.lore-btn--primary { - background: var(--lore-btn-bg); - border-color: var(--lore-btn-bg); - color: var(--lore-btn-fg) !important; -} -.lore-btn--primary:hover { - background: var(--lore-btn-bg-hover); - border-color: var(--lore-btn-bg-hover); -} - -/* ---- below-the-fold landing sections ---------------------------------- */ -.lore-below { - max-width: 44rem; - margin: 5rem auto 0; -} -/* Whitespace separates sections — no rules between them. */ -.lore-below h2 { - border-top: 0; - padding-top: 0; - margin-top: 4.5rem; -} -.lore-below > h2:first-child { - margin-top: 0; -} -/* The scenario pull-quote is content, not an aside — don't mute it. */ -.lore-below blockquote { - border-left: 2px solid var(--lore-accent); - color: var(--lore-text); - font-size: 1.0625rem; -} -.lore-below table { - font-size: 0.875rem; -} - -/* ---- landing components ------------------------------------------------ */ -.lore-steps { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1.5rem; -} -.lore-steps h3 { - margin-top: 0.25rem; -} -.lore-step__num { - font-family: var(--lore-mono); - font-size: 0.8125rem; - color: var(--lore-accent); -} - -.lore-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; -} - -.lore-card { - background: var(--lore-bg); - border: 1px solid var(--lore-border-subtle); - border-radius: var(--lore-radius-lg); - padding: 1.25rem 1.5rem; - box-shadow: var(--lore-shadow-card); -} -.lore-card h3 { - margin: 0 0 0.5rem; - font-size: 1rem; -} -.lore-card p { - margin: 0; - font-size: 0.9375rem; - color: var(--lore-text-muted); -} - -.lore-ctaband { - text-align: center; - margin-top: 4.5rem; - padding: 3rem 1.5rem; - background: var(--lore-bg-panel); - border-radius: var(--lore-radius-lg); -} -/* The band carries its own padding — don't stack the section gap on top. */ -.md-typeset .lore-ctaband h2 { - margin-top: 0; -} - -.lore-footnote { - font-size: 0.875rem; - color: var(--lore-text-muted); -} - -/* Hide the splash page's empty title/edit chrome. */ -.md-content__button { - display: none; -} - -/* ---- docs polish (applies passively to vendored core pages) ----------- */ -.md-typeset code { - background: var(--lore-bg-element); - border-radius: 4px; - padding: 0.1em 0.35em; - font-size: 0.875em; - color: var(--lore-text); - border: 0; - /* Don't split flag tokens like --json mid-word on narrow screens. */ - word-break: keep-all; -} -.md-typeset pre > code { - border-radius: var(--lore-radius-md); - overflow-x: auto; -} -.md-typeset table:not([class]) { - font-size: 0.875rem; -} -.md-typeset table:not([class]) th, -.md-typeset table:not([class]) td { - border-color: var(--lore-border-subtle); -} - -/* Sidebar navigation. */ -.md-nav { - font-size: 0.8125rem; -} -.md-nav__item--section > .md-nav__link { - font-weight: 600; - color: var(--lore-text-muted); -} -.md-nav__link--active, -.md-nav__link[aria-current="page"] { - color: var(--lore-accent); -} - -/* ---- media queries ------------------------------------------------------ */ -@media screen and (max-width: 48rem) { - .lore-steps, - .lore-grid { - grid-template-columns: 1fr; - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..05e726d --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index 657135a..0000000 --- a/mkdocs.yml +++ /dev/null @@ -1,74 +0,0 @@ -site_name: AsDecided -site_description: >- - Engineering decisions your agents can follow — the AsDecided documentation - site. -site_url: https://asdecided.github.io/ -repo_url: https://github.com/asdecided -repo_name: asdecided - -theme: - name: material - custom_dir: overrides - font: false - language: en - favicon: images/favicon.png - logo: images/favicon.png - palette: - scheme: default - features: - - content.code.copy - - navigation.top - - navigation.footer - - toc.follow - -extra_css: - - stylesheets/extra.css - -copyright: "© 2026 AsDecided" - -extra: - # Set by scripts/fetch-org-stats.sh via the TOTAL_ORG_STARS env var - # (GitHub Actions only — GITHUB_TOKEN gives org-wide read access there). - # Falls back to 0 for local builds; the hero hides the stat at 0. - total_org_stars: !ENV [TOTAL_ORG_STARS, 0] - social: - - icon: fontawesome/brands/github - link: https://github.com/asdecided - -plugins: - - search - -# core/integration-recipes.md deliberately links to examples/ outside -# docs_dir (rendered by GitHub, not this site) — not a broken link, just one -# MkDocs can't resolve locally. Downgraded so --strict doesn't abort on -# vendored content we don't author. Core's own docs.yml build has the -# same warning and is not currently strict-clean for it either. -validation: - links: - not_found: info - -nav: - - Home: index.md - - Essays: essays.md - - Get started: - - Overview: core/index.md - - Quickstart: core/quickstart.md - - Connect your agent: core/mcp.md - - Guides: - - Shared Server: core/shared-server.md - - Context Cost: core/context-cost.md - - Watchkeeper: core/watchkeeper.md - - Repository Workflow: core/repo-workflow.md - - Examples: core/examples.md - - Reference: - - CLI Reference: core/cli.md - - Artifacts: core/artifacts.md - - Relationships: core/relationships.md - - Validation: core/validation.md - - Operate: - - Governance: core/governance.md - - Security: core/security.md - - OKF Profile: core/okf-profile.md - - Project: - - Ecosystem: core/ecosystem.md - - Testing & Contributing: core/testing.md diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..e9ffa30 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/overrides/home.html b/overrides/home.html deleted file mode 100644 index 0eba058..0000000 --- a/overrides/home.html +++ /dev/null @@ -1,63 +0,0 @@ -{% extends "main.html" %} - -{# - Custom splash home for the Lore docs site, rendered in the org site's - light theme (near-white ground, one deep-amber accent, Inter for prose, - JetBrains Mono for code). The below-the-fold marketing sections stay in - docs/index.md and render through {{ page.content }} so they remain plain - Markdown. - - TEMPORARY: hero leads with the specification announcement essay rather than - the product pitch, at the maintainer's explicit request ("for now"). - The install command moved out of the hero into "How it works" in - docs/index.md; revert to the product-led hero (git history has it) once - the announcement window passes. -#} - -{% block content %} -
-

New: the RAC specification

-

A strict semantic layer over OKF.

-

Google Cloud's Open Knowledge Format standardizes the - carrier for organizational knowledge — deliberately permissive, on purpose. - RAC specifies what one high-stakes category of knowledge needs that carrier - to guarantee: identity that survives refactoring, a closed status lifecycle, - typed relationships with referential integrity, and write-time enforcement.

- -
- - - {% if config.extra.total_org_stars and config.extra.total_org_stars | int > 0 %} -

- ★ {{ config.extra.total_org_stars }} stars across AsDecided's open-source repos -

- {% endif %} -
-
- -
- {{ page.content }} -
- - -{% endblock %} diff --git a/overrides/main.html b/overrides/main.html deleted file mode 100644 index 3f061b5..0000000 --- a/overrides/main.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends "base.html" %} - -{# - Material's own main.html is a one-line pass-through ({% extends "base.html" %}), - kept only as an override point — this file replaces it identically except for - extrahead, so every other block (content, nav, etc.) behaves exactly as before. - - Adds Open Graph / Twitter Card meta tags site-wide, per-page title and - description, one static social-card image (docs/images/social-card.png). -#} - -{% block extrahead %} - {{ super() }} - {% set og_title = (page.meta.title if page.meta and page.meta.title - else (page.title | striptags if page.title and not page.is_homepage - else config.site_name)) %} - {% set og_description = (page.meta.description if page.meta and page.meta.description - else config.site_description) %} - {% set og_url = page.canonical_url or config.site_url %} - {% set og_image = config.site_url ~ 'images/social-card.png' %} - - - - - - - - - - - - -{% endblock %} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e5780e6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,11169 @@ +{ + "name": "asdecided-website", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "asdecided-website", + "version": "1.0.0", + "dependencies": { + "drizzle-orm": "0.45.2", + "next": "16.2.6", + "react": "19.2.6", + "react-dom": "19.2.6" + }, + "devDependencies": { + "@cloudflare/vite-plugin": "1.37.1", + "@tailwindcss/postcss": "4.2.1", + "@types/node": "22.19.19", + "@types/react": "19.2.14", + "@types/react-dom": "19.2.3", + "@vitejs/plugin-react": "6.0.2", + "@vitejs/plugin-rsc": "0.5.26", + "drizzle-kit": "0.31.10", + "eslint": "9.39.4", + "eslint-config-next": "16.2.6", + "react-server-dom-webpack": "19.2.6", + "tailwindcss": "4.2.1", + "typescript": "5.9.3", + "vinext": "0.0.50", + "vite": "8.0.13", + "wrangler": "4.92.0" + }, + "engines": { + "node": ">=22.13.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@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.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@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.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "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.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cloudflare/kv-asset-handler": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.5.0.tgz", + "integrity": "sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==", + "dev": true, + "license": "MIT OR Apache-2.0", + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@cloudflare/unenv-preset": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.16.1.tgz", + "integrity": "sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==", + "dev": true, + "license": "MIT OR Apache-2.0", + "peerDependencies": { + "unenv": "2.0.0-rc.24", + "workerd": ">1.20260305.0 <2.0.0-0" + }, + "peerDependenciesMeta": { + "workerd": { + "optional": true + } + } + }, + "node_modules/@cloudflare/vite-plugin": { + "version": "1.37.1", + "resolved": "https://registry.npmjs.org/@cloudflare/vite-plugin/-/vite-plugin-1.37.1.tgz", + "integrity": "sha512-FldhsmkXyLsX3yI+p0aJDo/kGyY69pDdynz2JjcuH3eCiQ+G9XaY3CrN+UYEfCbWv8CiR2wL95lNg0fT/HfwWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cloudflare/unenv-preset": "2.16.1", + "miniflare": "4.20260515.0", + "unenv": "2.0.0-rc.24", + "wrangler": "4.92.0", + "ws": "8.18.0" + }, + "peerDependencies": { + "vite": "^6.1.0 || ^7.0.0 || ^8.0.0", + "wrangler": "^4.92.0" + } + }, + "node_modules/@cloudflare/workerd-darwin-64": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260515.1.tgz", + "integrity": "sha512-Wtw44el2pNbzixvTkWdfeBDTrQwQbJRz7/JUvPKV27I0pQWXbhNJPpM8cstq/pbrU5AGcA/HjFH6yPMRTIRKig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-darwin-arm64": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260515.1.tgz", + "integrity": "sha512-X8EqkZej6FfmhF9AVAQ3FhyQRr9acS4RcDunMU2YiuxKHF1IU8zzH3vY30/POaG+rUu9vGDp/VgUl49VPenHJQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-64": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260515.1.tgz", + "integrity": "sha512-CDC89QxQ7Y7t7RG1Jd9vj/qolE1sQRkI2OSEuV5BMJi0vW/gV4OVG6xjpdK3b1OYnSWDzF7NpvlR5Yg86q7k4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-arm64": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260515.1.tgz", + "integrity": "sha512-WxbW/PToYES4fvHXzsr/5qOiETQs/Z9iZ0mjSZAiEwq5cMLZemzGN0COx+uFb9OvQwzh6Pg159qPFnw3+i9FuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-windows-64": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260515.1.tgz", + "integrity": "sha512-WmV/iv+MHjYsvkcMVzpM2B5/mf06UUkdpVhZrtMfV9graWjBGPYFvE/eab8748RPVGKh1Xe1vXofLzDSwc08lA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@drizzle-team/brocli": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@drizzle-team/brocli/-/brocli-0.10.2.tgz", + "integrity": "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild-kit/core-utils": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz", + "integrity": "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==", + "deprecated": "Merged into tsx: https://tsx.is", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.18.20", + "source-map-support": "^0.5.21" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/@esbuild-kit/esm-loader": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz", + "integrity": "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==", + "deprecated": "Merged into tsx: https://tsx.is", + "dev": true, + "license": "MIT", + "dependencies": { + "@esbuild-kit/core-utils": "^3.3.2", + "get-tsconfig": "^4.7.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", + "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "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/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "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/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.6.tgz", + "integrity": "sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.6.tgz", + "integrity": "sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.6.tgz", + "integrity": "sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.6.tgz", + "integrity": "sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.6.tgz", + "integrity": "sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.6.tgz", + "integrity": "sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.6.tgz", + "integrity": "sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.6.tgz", + "integrity": "sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.6.tgz", + "integrity": "sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.6.tgz", + "integrity": "sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.130.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.130.0.tgz", + "integrity": "sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@poppinss/colors": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz", + "integrity": "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^4.1.5" + } + }, + "node_modules/@poppinss/dumper": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.5.tgz", + "integrity": "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@poppinss/colors": "^4.1.5", + "@sindresorhus/is": "^7.0.2", + "supports-color": "^10.0.0" + } + }, + "node_modules/@poppinss/dumper/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@poppinss/exception": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.3.tgz", + "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@resvg/resvg-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-wasm/-/resvg-wasm-2.4.0.tgz", + "integrity": "sha512-C7c51Nn4yTxXFKvgh2txJFNweaVcfUPQxwEUFw4aWsCmfiBDJsTSwviIF8EcwjQ6k8bPyMWCl1vw4BdxE569Cg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.1.tgz", + "integrity": "sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.1.tgz", + "integrity": "sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.1.tgz", + "integrity": "sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.1.tgz", + "integrity": "sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@shuding/opentype.js": { + "version": "1.4.0-beta.0", + "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz", + "integrity": "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fflate": "^0.7.3", + "string.prototype.codepointat": "^0.2.1" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@speed-highlight/core": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.15.tgz", + "integrity": "sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.31.1", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", + "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.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.8.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.8.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { + "version": "2.8.1", + "dev": true, + "inBundle": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", + "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", + "postcss": "^8.5.6", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "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/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", + "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": 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/@typescript-eslint/eslint-plugin": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz", + "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/type-utils": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.3", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz", + "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz", + "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.3", + "@typescript-eslint/types": "^8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz", + "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz", + "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz", + "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz", + "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz", + "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.59.3", + "@typescript-eslint/tsconfig-utils": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz", + "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz", + "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unpic/core": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@unpic/core/-/core-1.0.3.tgz", + "integrity": "sha512-aum9YNVUGso7MjGLD0Rp/08kywCGLqZ03/q6VQBFFakDBOXWEc8D4kPGcZ8v5wEnGRex3lE+++bOuucBp3KJ/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "unpic": "^4.2.2" + } + }, + "node_modules/@unpic/react": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@unpic/react/-/react-1.0.2.tgz", + "integrity": "sha512-5RmRfELwTF8w+4zjtQGqjpvX+RU2VLvis3xDCS1O2uWk0PZN2cvatL+3/KAR3mshAuRrkFGTX1XwyAezSXaoCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unpic/core": "^1.0.3" + }, + "peerDependencies": { + "next": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "next": { + "optional": true + } + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vercel/og": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@vercel/og/-/og-0.8.6.tgz", + "integrity": "sha512-hBcWIOppZV14bi+eAmCZj8Elj8hVSUZJTpf1lgGBhVD85pervzQ1poM/qYfFUlPraYSZYP+ASg6To5BwYmUSGQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "@resvg/resvg-wasm": "2.4.0", + "satori": "0.16.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.2.tgz", + "integrity": "sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/@vitejs/plugin-rsc": { + "version": "0.5.26", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-rsc/-/plugin-rsc-0.5.26.tgz", + "integrity": "sha512-T8W8ODEutblw9qXQB512LDPyv1tAbJRD/Gf0QEGsAoydl4nxEtIrghnhoI9oLY9R+7aw+cLk1ZEltxWHWf4aHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.18", + "es-module-lexer": "^2.1.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21", + "srvx": "^0.11.15", + "strip-literal": "^3.1.0", + "turbo-stream": "^3.2.0", + "vitefu": "^1.1.3" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*", + "react-server-dom-webpack": "*", + "vite": "*" + }, + "peerDependenciesMeta": { + "react-server-dom-webpack": { + "optional": true + } + } + }, + "node_modules/@vitejs/plugin-rsc/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.18", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.18.tgz", + "integrity": "sha512-CUY5Mnhe64xQBGZEEXQ5WyZwsc1JU3vAZLIxtrsBt3LO6UOb+C8GunVKqe9sT8NeWb4lqSaoJtp2xo6GxT1MNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-loose": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.5.2.tgz", + "integrity": "sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.4.tgz", + "integrity": "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.30", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.30.tgz", + "integrity": "sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/blake3-wasm": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", + "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "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/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "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/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-background-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz", + "integrity": "sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-box-shadow": { + "version": "1.0.0-3", + "resolved": "https://registry.npmjs.org/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz", + "integrity": "sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-gradient-parser": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/css-gradient-parser/-/css-gradient-parser-0.0.16.tgz", + "integrity": "sha512-3O5QdqgFRUbXvK1x5INf1YkBz1UKSWqrd63vWsum8MNHDBYD5urm3QtxZbKU259OrEXNM26lP/MPY3d1IGkBgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/drizzle-kit": { + "version": "0.31.10", + "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.31.10.tgz", + "integrity": "sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@drizzle-team/brocli": "^0.10.2", + "@esbuild-kit/esm-loader": "^2.5.5", + "esbuild": "^0.25.4", + "tsx": "^4.21.0" + }, + "bin": { + "drizzle-kit": "bin.cjs" + } + }, + "node_modules/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-kit/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/drizzle-orm": { + "version": "0.45.2", + "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.45.2.tgz", + "integrity": "sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==", + "license": "Apache-2.0", + "peerDependencies": { + "@aws-sdk/client-rds-data": ">=3", + "@cloudflare/workers-types": ">=4", + "@electric-sql/pglite": ">=0.2.0", + "@libsql/client": ">=0.10.0", + "@libsql/client-wasm": ">=0.10.0", + "@neondatabase/serverless": ">=0.10.0", + "@op-engineering/op-sqlite": ">=2", + "@opentelemetry/api": "^1.4.1", + "@planetscale/database": ">=1.13", + "@prisma/client": "*", + "@tidbcloud/serverless": "*", + "@types/better-sqlite3": "*", + "@types/pg": "*", + "@types/sql.js": "*", + "@upstash/redis": ">=1.34.7", + "@vercel/postgres": ">=0.8.0", + "@xata.io/client": "*", + "better-sqlite3": ">=7", + "bun-types": "*", + "expo-sqlite": ">=14.0.0", + "gel": ">=2", + "knex": "*", + "kysely": "*", + "mysql2": ">=2", + "pg": ">=8", + "postgres": ">=3", + "sql.js": ">=1", + "sqlite3": ">=5" + }, + "peerDependenciesMeta": { + "@aws-sdk/client-rds-data": { + "optional": true + }, + "@cloudflare/workers-types": { + "optional": true + }, + "@electric-sql/pglite": { + "optional": true + }, + "@libsql/client": { + "optional": true + }, + "@libsql/client-wasm": { + "optional": true + }, + "@neondatabase/serverless": { + "optional": true + }, + "@op-engineering/op-sqlite": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "@tidbcloud/serverless": { + "optional": true + }, + "@types/better-sqlite3": { + "optional": true + }, + "@types/pg": { + "optional": true + }, + "@types/sql.js": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "bun-types": { + "optional": true + }, + "expo-sqlite": { + "optional": true + }, + "gel": { + "optional": true + }, + "knex": { + "optional": true + }, + "kysely": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "postgres": { + "optional": true + }, + "prisma": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + } + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.358", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.358.tgz", + "integrity": "sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex-xs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-2.0.1.tgz", + "integrity": "sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.21.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.3.tgz", + "integrity": "sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", + "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", + "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.0", + "@esbuild/android-arm": "0.28.0", + "@esbuild/android-arm64": "0.28.0", + "@esbuild/android-x64": "0.28.0", + "@esbuild/darwin-arm64": "0.28.0", + "@esbuild/darwin-x64": "0.28.0", + "@esbuild/freebsd-arm64": "0.28.0", + "@esbuild/freebsd-x64": "0.28.0", + "@esbuild/linux-arm": "0.28.0", + "@esbuild/linux-arm64": "0.28.0", + "@esbuild/linux-ia32": "0.28.0", + "@esbuild/linux-loong64": "0.28.0", + "@esbuild/linux-mips64el": "0.28.0", + "@esbuild/linux-ppc64": "0.28.0", + "@esbuild/linux-riscv64": "0.28.0", + "@esbuild/linux-s390x": "0.28.0", + "@esbuild/linux-x64": "0.28.0", + "@esbuild/netbsd-arm64": "0.28.0", + "@esbuild/netbsd-x64": "0.28.0", + "@esbuild/openbsd-arm64": "0.28.0", + "@esbuild/openbsd-x64": "0.28.0", + "@esbuild/openharmony-arm64": "0.28.0", + "@esbuild/sunos-x64": "0.28.0", + "@esbuild/win32-arm64": "0.28.0", + "@esbuild/win32-ia32": "0.28.0", + "@esbuild/win32-x64": "0.28.0" + } + }, + "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/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.6.tgz", + "integrity": "sha512-z2ELYSkyrrJ6cuunTU8vhsT/RpouPkjaSah06nVW6Rg2Hpg0Vs8s497/e5s8G8qtdp4ccsiovz5P1rv+5VSW2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.6", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/hex-rgb": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", + "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "dev": true, + "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz", + "integrity": "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "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/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "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.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "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-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "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-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "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-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "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-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "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.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "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/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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/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/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/miniflare": { + "version": "4.20260515.0", + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260515.0.tgz", + "integrity": "sha512-2j0oQWizk1Eu4Cm8tDX7Z+Nsjd0nebIj1TQcQ+Oy1QKeo0Ay9+bdn8wfLAtOj9znDCybDCUlnS1+nYvKXEdfNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "0.8.1", + "sharp": "^0.34.5", + "undici": "7.24.8", + "workerd": "1.20260515.1", + "ws": "8.18.0", + "youch": "4.1.0-beta.10" + }, + "bin": { + "miniflare": "bootstrap.js" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "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/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz", + "integrity": "sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.6", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.2.6", + "@next/swc-darwin-x64": "16.2.6", + "@next/swc-linux-arm64-gnu": "16.2.6", + "@next/swc-linux-arm64-musl": "16.2.6", + "@next/swc-linux-x64-gnu": "16.2.6", + "@next/swc-linux-x64-musl": "16.2.6", + "@next/swc-win32-arm64-msvc": "16.2.6", + "@next/swc-win32-x64-msvc": "16.2.6", + "sharp": "^0.34.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.44", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.44.tgz", + "integrity": "sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true, + "license": "MIT" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-css-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz", + "integrity": "sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.1.4", + "hex-rgb": "^4.1.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", + "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", + "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.6" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-server-dom-webpack": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-server-dom-webpack/-/react-server-dom-webpack-19.2.6.tgz", + "integrity": "sha512-762YXjBPc6hw2V16k4x1sdnw0mxghcSPzoiOhefGYjiTguJLCImGBUz6EjznPIfqKhWgLtpaQMlBhp66N8dKrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn-loose": "^8.3.0", + "neo-async": "^2.6.1", + "webpack-sources": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^19.2.6", + "react-dom": "^19.2.6", + "webpack": "^5.59.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rolldown": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.1.tgz", + "integrity": "sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.130.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.1", + "@rolldown/binding-darwin-arm64": "1.0.1", + "@rolldown/binding-darwin-x64": "1.0.1", + "@rolldown/binding-freebsd-x64": "1.0.1", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.1", + "@rolldown/binding-linux-arm64-gnu": "1.0.1", + "@rolldown/binding-linux-arm64-musl": "1.0.1", + "@rolldown/binding-linux-ppc64-gnu": "1.0.1", + "@rolldown/binding-linux-s390x-gnu": "1.0.1", + "@rolldown/binding-linux-x64-gnu": "1.0.1", + "@rolldown/binding-linux-x64-musl": "1.0.1", + "@rolldown/binding-openharmony-arm64": "1.0.1", + "@rolldown/binding-wasm32-wasi": "1.0.1", + "@rolldown/binding-win32-arm64-msvc": "1.0.1", + "@rolldown/binding-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/satori": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.16.0.tgz", + "integrity": "sha512-ZvHN3ygzZ8FuxjSNB+mKBiF/NIoqHzlBGbD0MJiT+MvSsFOvotnWOhdTjxKzhHRT2wPC1QbhLzx2q/Y83VhfYQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "@shuding/opentype.js": "1.4.0-beta.0", + "css-background-parser": "^0.1.0", + "css-box-shadow": "1.0.0-3", + "css-gradient-parser": "^0.0.16", + "css-to-react-native": "^3.0.0", + "emoji-regex-xs": "^2.0.1", + "escape-html": "^1.0.3", + "linebreak": "^1.1.0", + "parse-css-color": "^0.2.1", + "postcss-value-parser": "^4.2.0", + "yoga-layout": "^3.2.1" + }, + "engines": { + "node": ">=16" + } + }, + "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/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "peer": true + }, + "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/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "devOptional": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/srvx": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/srvx/-/srvx-0.11.15.tgz", + "integrity": "sha512-iXsux0UcOjdvs0LCMa2Ws3WwcDUozA3JN3BquNXkaFPP7TpRqgunKdEgoZ/uwb1J6xaYHfxtz9Twlh6yzwM6Tg==", + "dev": true, + "license": "MIT", + "bin": { + "srvx": "bin/srvx.mjs" + }, + "engines": { + "node": ">=20.16.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", + "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "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/terser": { + "version": "5.47.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.47.1.tgz", + "integrity": "sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "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/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/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/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "dev": true, + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.1.tgz", + "integrity": "sha512-TvncJykhxAzFCk0VQZKBTClall4Pm7qXDSodb6uxi8QFa8X8mT6ABjxxsQ2opDRYxG7AzcRWXaFtruz5HJKuWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/turbo-stream": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-3.2.0.tgz", + "integrity": "sha512-EK+bZ9UVrVh7JLslVFOV0GEMsociOqVOvEMTAd4ixMyffN5YNIEdLZWXUx5PJqDbTxSIBWw04HS9gCY4frYQDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/typescript-eslint": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.3.tgz", + "integrity": "sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.3", + "@typescript-eslint/parser": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.8.tgz", + "integrity": "sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unenv": { + "version": "2.0.0-rc.24", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.24.tgz", + "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.3" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unpic": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/unpic/-/unpic-4.2.2.tgz", + "integrity": "sha512-z6T2ScMgRV2y2H8MwwhY5xHZWXhUx/YxtOCGJwfURSl7ypVy4HpLIMWoIZKnnxQa/RKzM0kg8hUh0paIrpLfvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/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/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vinext": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/vinext/-/vinext-0.0.50.tgz", + "integrity": "sha512-uo72YNnq94NtogETWnhMdFSrkMLwWgeXh5PS6qh8ksajuvAaZX50bXYJ4a6dERQ/AnnXAlNByAGHCjjNxQrvig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unpic/react": "^1.0.2", + "@vercel/og": "^0.8.6", + "image-size": "2.0.2", + "ipaddr.js": "^2.1.0", + "magic-string": "^0.30.21", + "vite-plugin-commonjs": "^0.10.4", + "vite-tsconfig-paths": "^6.1.1", + "web-vitals": "^4.2.4" + }, + "bin": { + "vinext": "dist/cli.js" + }, + "engines": { + "node": ">=22" + }, + "peerDependencies": { + "@mdx-js/rollup": "^3.0.0", + "@vitejs/plugin-react": "^5.1.4 || ^6.0.0", + "@vitejs/plugin-rsc": "^0.5.23", + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-server-dom-webpack": "^19.2.6", + "vite": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@mdx-js/rollup": { + "optional": true + }, + "@vitejs/plugin-rsc": { + "optional": true + }, + "react-server-dom-webpack": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "8.0.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.13.tgz", + "integrity": "sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.14", + "rolldown": "1.0.1", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "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/vite-plugin-commonjs": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/vite-plugin-commonjs/-/vite-plugin-commonjs-0.10.4.tgz", + "integrity": "sha512-eWQuvQKCcx0QYB5e5xfxBNjQKyrjEWZIR9UOkOV6JAgxVhtbZvCOF+FNC2ZijBJ3U3Px04ZMMyyMyFBVWIJ5+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.12.1", + "magic-string": "^0.30.11", + "vite-plugin-dynamic-import": "^1.6.0" + } + }, + "node_modules/vite-plugin-dynamic-import": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.6.0.tgz", + "integrity": "sha512-TM0sz70wfzTIo9YCxVFwS8OA9lNREsh+0vMHGSkWDTZ7bgd1Yjs5RV8EgB634l/91IsXJReg0xtmuQqP0mf+rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.12.1", + "es-module-lexer": "^1.5.4", + "fast-glob": "^3.3.2", + "magic-string": "^0.30.11" + } + }, + "node_modules/vite-plugin-dynamic-import/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite-plugin-dynamic-import/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/vite-plugin-dynamic-import/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz", + "integrity": "sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + } + }, + "node_modules/vite/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/vite/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/vite/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/vite/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/vite/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/vite/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/vite/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, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/vite/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, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/vite/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, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/vite/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, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/vite/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/vite/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/vite/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/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/webpack": { + "version": "5.106.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "loader-runner": "^4.3.1", + "mime-db": "^1.54.0", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.4.1.tgz", + "integrity": "sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workerd": { + "version": "1.20260515.1", + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260515.1.tgz", + "integrity": "sha512-MjKOJLcvU45xXedQowvuiHtJTxu4WTHYQeIlF7YmjuqhiI6dImTFxWCEoRQHiskztxuVSNEmdO7/0UfDu6OMnQ==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "bin": { + "workerd": "bin/workerd" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "@cloudflare/workerd-darwin-64": "1.20260515.1", + "@cloudflare/workerd-darwin-arm64": "1.20260515.1", + "@cloudflare/workerd-linux-64": "1.20260515.1", + "@cloudflare/workerd-linux-arm64": "1.20260515.1", + "@cloudflare/workerd-windows-64": "1.20260515.1" + } + }, + "node_modules/wrangler": { + "version": "4.92.0", + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.92.0.tgz", + "integrity": "sha512-/DKpQHPxkuZbQsO9dFW2700VTD/4DSZMHjy92fO/frNoDRi/zQsFCAd2ONCV6TGqcUoXcP3D8Bo2gj/L4M0qQQ==", + "dev": true, + "license": "MIT OR Apache-2.0", + "dependencies": { + "@cloudflare/kv-asset-handler": "0.5.0", + "@cloudflare/unenv-preset": "2.16.1", + "blake3-wasm": "2.1.5", + "esbuild": "0.27.3", + "miniflare": "4.20260515.0", + "path-to-regexp": "6.3.0", + "unenv": "2.0.0-rc.24", + "workerd": "1.20260515.1" + }, + "bin": { + "wrangler": "bin/wrangler.js", + "wrangler2": "bin/wrangler.js" + }, + "engines": { + "node": ">=22.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@cloudflare/workers-types": "^4.20260515.1" + }, + "peerDependenciesMeta": { + "@cloudflare/workers-types": { + "optional": true + } + } + }, + "node_modules/wrangler/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/wrangler/node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoga-layout": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/yoga-layout/-/yoga-layout-3.2.1.tgz", + "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/youch": { + "version": "4.1.0-beta.10", + "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz", + "integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@poppinss/colors": "^4.1.5", + "@poppinss/dumper": "^0.6.4", + "@speed-highlight/core": "^1.2.7", + "cookie": "^1.0.2", + "youch-core": "^0.3.3" + } + }, + "node_modules/youch-core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz", + "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@poppinss/exception": "^1.2.2", + "error-stack-parser-es": "^1.0.5" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b70e722 --- /dev/null +++ b/package.json @@ -0,0 +1,41 @@ +{ + "name": "asdecided-website", + "version": "1.0.0", + "private": true, + "engines": { + "node": ">=22.13.0" + }, + "scripts": { + "dev": "WRANGLER_LOG_PATH=.wrangler/wrangler.log vinext dev", + "build": "WRANGLER_LOG_PATH=.wrangler/wrangler.log vinext build", + "start": "WRANGLER_LOG_PATH=.wrangler/wrangler.log vinext start", + "test": "npm run build && node --test tests/rendered-html.test.mjs", + "lint": "eslint . --ignore-pattern dist --ignore-pattern .next", + "db:generate": "drizzle-kit generate" + }, + "dependencies": { + "drizzle-orm": "0.45.2", + "next": "16.2.6", + "react": "19.2.6", + "react-dom": "19.2.6" + }, + "devDependencies": { + "@cloudflare/vite-plugin": "1.37.1", + "@tailwindcss/postcss": "4.2.1", + "@types/node": "22.19.19", + "@types/react": "19.2.14", + "@types/react-dom": "19.2.3", + "@vitejs/plugin-react": "6.0.2", + "@vitejs/plugin-rsc": "0.5.26", + "drizzle-kit": "0.31.10", + "eslint": "9.39.4", + "eslint-config-next": "16.2.6", + "react-server-dom-webpack": "19.2.6", + "tailwindcss": "4.2.1", + "typescript": "5.9.3", + "vinext": "0.0.50", + "vite": "8.0.13", + "wrangler": "4.92.0" + }, + "type": "module" +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 0000000..61e3684 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/public/brand-lockup.jpg b/public/brand-lockup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a9272508635c7123a5d366ea60b4c3cae1f5cae GIT binary patch literal 18619 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 literal 0 HcmV?d00001 diff --git a/public/brand-mark.jpg b/public/brand-mark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85b1a1063496f5bb4e5df233f19e240c7fce9d37 GIT binary patch literal 17806 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 literal 0 HcmV?d00001 diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..362c67c2738795b7393d50816697c07bf43ca4c2 GIT binary patch literal 6578 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 DdPro` literal 0 HcmV?d00001 diff --git a/scripts/fetch-org-stats.sh b/scripts/fetch-org-stats.sh deleted file mode 100755 index 585eb98..0000000 --- a/scripts/fetch-org-stats.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -# Sums stargazers_count across every public repo in the AsDecided org and -# exposes it to mkdocs.yml's `extra.total_org_stars` via the TOTAL_ORG_STARS -# env var (mkdocs.yml reads it with the !ENV tag, default 0). In GitHub -# Actions, GITHUB_TOKEN gives a real count; without a token (local dev) -# this is skipped and the site falls back to hiding the stat entirely. -set -euo pipefail - -ORG=asdecided - -if [ -z "${GITHUB_TOKEN:-}" ]; then - echo "GITHUB_TOKEN not set — skipping live star fetch (site will hide the stat)." >&2 - total=0 -else - total=$(GITHUB_TOKEN="$GITHUB_TOKEN" ORG="$ORG" python3 - <<'PYEOF' -import json -import os -import urllib.request - -org = os.environ["ORG"] -token = os.environ["GITHUB_TOKEN"] -headers = { - "Authorization": f"Bearer {token}", - "Accept": "application/vnd.github+json", - "User-Agent": "asdecided-site-build", -} - -total = 0 -page = 1 -while True: - url = f"https://api.github.com/orgs/{org}/repos?per_page=100&page={page}&type=public" - req = urllib.request.Request(url, headers=headers) - with urllib.request.urlopen(req) as resp: - repos = json.load(resp) - if not repos: - break - total += sum(r.get("stargazers_count", 0) for r in repos) - if len(repos) < 100: - break - page += 1 - -print(total) -PYEOF -) -fi - -echo "Total stars across $ORG's public repos: $total" - -if [ -n "${GITHUB_ENV:-}" ]; then - echo "TOTAL_ORG_STARS=$total" >> "$GITHUB_ENV" -fi diff --git a/scripts/vendor-docs.sh b/scripts/vendor-docs.sh deleted file mode 100755 index ed5687c..0000000 --- a/scripts/vendor-docs.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash -# Implements the vendor contract from core's ADR-101: sparse-checkout -# each source repo's docs/ at build time, never commit the result. -set -euo pipefail - -root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -vendor_dir="$root/.vendor" -docs_dir="$root/docs" - -vendor_repo() { - local slug="$1" repo="$2" ref="$3" path="$4" - local checkout_dir="$vendor_dir/$slug" - local target_dir="$docs_dir/$slug" - - echo "Vendoring $repo#$ref:$path -> docs/$slug" - - rm -rf "$checkout_dir" - mkdir -p "$checkout_dir" - git -C "$checkout_dir" init -q - git -C "$checkout_dir" remote add origin "$repo" - git -C "$checkout_dir" sparse-checkout set --no-cone "$path" - git -C "$checkout_dir" fetch --depth 1 origin "$ref" - git -C "$checkout_dir" checkout -q FETCH_HEAD - - rm -rf "$target_dir" - mkdir -p "$target_dir" - cp -r "$checkout_dir/$path/." "$target_dir/" -} - -vendor_repo core https://github.com/asdecided/core.git main docs - -# The org root (docs/index.md) already carries its own splash hero; strip -# the vendored core home's template/hide frontmatter so it renders as a -# normal nav page ("Overview") instead of a second, mislinked splash. -python3 - "$docs_dir/core/index.md" <<'PYEOF' -import re, sys - -path = sys.argv[1] -text = open(path, encoding="utf-8").read() -text = re.sub(r"^---\n.*?\n---\n", "", text, count=1, flags=re.DOTALL) -open(path, "w", encoding="utf-8").write(text) -PYEOF diff --git a/tests/rendered-html.test.mjs b/tests/rendered-html.test.mjs new file mode 100644 index 0000000..9252a70 --- /dev/null +++ b/tests/rendered-html.test.mjs @@ -0,0 +1,42 @@ +import assert from "node:assert/strict"; +import test from "node:test"; + +async function render() { + const workerUrl = new URL("../dist/server/index.js", import.meta.url); + workerUrl.searchParams.set("test", `${process.pid}-${Date.now()}`); + const { default: worker } = await import(workerUrl.href); + + return worker.fetch( + new Request("http://localhost/", { + headers: { accept: "text/html" }, + }), + { + ASSETS: { + fetch: async () => new Response("Not found", { status: 404 }), + }, + }, + { + waitUntil() {}, + passThroughOnException() {}, + }, + ); +} + +test("server-renders the AsDecided product site", async () => { + const response = await render(); + assert.equal(response.status, 200); + assert.match(response.headers.get("content-type") ?? "", /^text\/html\b/i); + + const html = await response.text(); + assert.match( + html, + /AsDecided — Engineering decisions your agents can follow<\/title>/i, + ); + assert.match(html, /Your agents can move fast/); + assert.match(html, /without rewriting the past/); + assert.match(html, /brew install asdecided\/tap\/asdecided-core/); + assert.match(html, /Ask the repository, not another model/); + assert.match(html, /A deliberately narrow trust boundary/); + assert.match(html, /Small repositories\. Explicit responsibilities\./); + assert.doesNotMatch(html, /codex-preview|Your site is taking shape/i); +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3a13f90 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": ["node_modules"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..ae08f93 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,59 @@ +import vinext from "vinext"; +import { defineConfig } from "vite"; +import hostingConfig from "./.openai/hosting.json"; +import { sites } from "./build/sites-vite-plugin"; + +const SITE_CREATOR_PLACEHOLDER_DATABASE_ID = + "00000000-0000-4000-8000-000000000000"; + +const { d1, r2 } = hostingConfig; + +// macOS Seatbelt blocks FSEvents, so Codex previews need polling for HMR. +const isCodexSeatbeltSandbox = process.env.CODEX_SANDBOX === "seatbelt"; + +const localBindingConfig = { + main: "./worker/index.ts", + compatibility_flags: ["nodejs_compat"], + d1_databases: d1 + ? [ + { + binding: d1, + database_name: "site-creator-d1", + database_id: SITE_CREATOR_PLACEHOLDER_DATABASE_ID, + }, + ] + : [], + r2_buckets: r2 + ? [ + { + binding: r2, + bucket_name: "site-creator-r2", + }, + ] + : [], +}; + +export default defineConfig(async () => { + // Keep Wrangler and Miniflare state project-local. These are non-secret tool + // settings; application environment belongs in ignored `.env*` files. + process.env.WRANGLER_WRITE_LOGS ??= "false"; + process.env.WRANGLER_LOG_PATH ??= ".wrangler/logs"; + process.env.MINIFLARE_REGISTRY_PATH ??= ".wrangler/registry"; + + // Wrangler snapshots its log path while the Cloudflare plugin is imported. + const { cloudflare } = await import("@cloudflare/vite-plugin"); + + return { + server: isCodexSeatbeltSandbox + ? { watch: { useFsEvents: false, usePolling: true } } + : undefined, + plugins: [ + vinext(), + sites(), + cloudflare({ + viteEnvironment: { name: "rsc", childEnvironments: ["ssr"] }, + config: localBindingConfig, + }), + ], + }; +}); diff --git a/worker/index.ts b/worker/index.ts new file mode 100644 index 0000000..b3cd137 --- /dev/null +++ b/worker/index.ts @@ -0,0 +1,47 @@ +/** Cloudflare Worker entry point for the vinext-starter template. */ +import { handleImageOptimization, DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES } from "vinext/server/image-optimization"; +import handler from "vinext/server/app-router-entry"; + +interface Env { + ASSETS: Fetcher; + DB: D1Database; + IMAGES: { + input(stream: ReadableStream): { + transform(options: Record<string, unknown>): { + output(options: { format: string; quality: number }): Promise<{ response(): Response }>; + }; + }; + }; +} + +interface ExecutionContext { + waitUntil(promise: Promise<unknown>): void; + passThroughOnException(): void; +} + +// Image security config. SVG sources with .svg extension auto-skip the +// optimization endpoint on the client side (served directly, no proxy). +// To route SVGs through the optimizer (with security headers), set +// dangerouslyAllowSVG: true in next.config.js and uncomment below: +// const imageConfig: ImageConfig = { dangerouslyAllowSVG: true }; + +const worker = { + async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { + const url = new URL(request.url); + + if (url.pathname === "/_vinext/image") { + const allowedWidths = [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES]; + return handleImageOptimization(request, { + fetchAsset: (path) => env.ASSETS.fetch(new Request(new URL(path, request.url))), + transformImage: async (body, { width, format, quality }) => { + const result = await env.IMAGES.input(body).transform(width > 0 ? { width } : {}).output({ format, quality }); + return result.response(); + }, + }, allowedWidths); + } + + return handler.fetch(request, env, ctx); + }, +}; + +export default worker; From a905cc6accac4e7680cd5da04cc8d3fc95b55c6a Mon Sep 17 00:00:00 2001 From: Tom Ballard <tom@armytage.co> Date: Sun, 26 Jul 2026 15:47:19 +0100 Subject: [PATCH 2/4] feat: focus the site on the AsDecided eyes --- app/globals.css | 981 ++++++++++++++++++++++++------------------------ app/page.tsx | 58 ++- 2 files changed, 519 insertions(+), 520 deletions(-) diff --git a/app/globals.css b/app/globals.css index b6c95fc..eb56338 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,43 +1,27 @@ @import "tailwindcss"; :root { - --color-ground: #f0ede5; - --color-paper: #f8f5ed; - --color-ink: #171713; - --color-muted: #68665e; - --color-line: #cbc5b7; - --color-line-strong: #8e897e; - --color-signal: #f2b705; - --color-signal-deep: #b45309; - --color-night: #12130f; - --color-night-soft: #1d1e18; - --color-valid: #4b7a42; - --color-focus: #1263d6; - - --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; - --font-body: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, sans-serif; - --font-mono: "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Consolas, monospace; - - --text-xs: 0.7rem; - --text-sm: 0.84rem; - --text-base: 1rem; - --text-lg: 1.2rem; - --text-xl: clamp(2.3rem, 5vw, 5.2rem); - - --space-1: 0.35rem; - --space-2: 0.65rem; - --space-3: 1rem; - --space-4: 1.5rem; - --space-6: 2.5rem; - --space-8: 4rem; - --space-12: 7rem; - - --radius-sm: 2px; - --radius-md: 5px; - --shadow-paper: 0 20px 70px rgba(31, 29, 23, 0.12); - --duration-fast: 140ms; - --duration-base: 260ms; - --ease-out: cubic-bezier(0.22, 1, 0.36, 1); + --black: #000000; + --surface: #080808; + --surface-raised: #0d0d0d; + --white: #f4f2ec; + --muted: #8b8982; + --dim: #51504c; + --line: rgba(244, 242, 236, 0.13); + --line-strong: rgba(244, 242, 236, 0.25); + --yellow: #ffc400; + --yellow-soft: #dca900; + --green: #91c781; + --focus: #7fb1ff; + + --mono: "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Consolas, monospace; + --sans: "Helvetica Neue", Helvetica, Arial, sans-serif; + + --page: min(100% - 3rem, 86rem); + --section-space: clamp(7rem, 14vw, 13rem); + --fast: 150ms; + --base: 320ms; + --ease: cubic-bezier(0.22, 1, 0.36, 1); } * { @@ -46,40 +30,26 @@ html { scroll-behavior: smooth; + background: var(--black); } body { margin: 0; - background: - linear-gradient(rgba(23, 23, 19, 0.025) 1px, transparent 1px), - var(--color-ground); - background-size: 100% 32px; - color: var(--color-ink); - font-family: var(--font-body); - font-size: var(--text-base); - line-height: 1.6; + background: var(--black); + color: var(--white); + font-family: var(--sans); + line-height: 1.55; text-rendering: optimizeLegibility; } -body::before { - position: fixed; - inset: 0; - z-index: -1; - background-image: radial-gradient(rgba(23, 23, 19, 0.055) 0.6px, transparent 0.6px); - background-size: 5px 5px; - content: ""; - opacity: 0.35; - pointer-events: none; -} - a { color: inherit; } a:focus-visible, button:focus-visible { - outline: 3px solid var(--color-focus); - outline-offset: 4px; + outline: 2px solid var(--focus); + outline-offset: 5px; } button { @@ -88,113 +58,185 @@ button { main { overflow: hidden; + background: + radial-gradient(circle at 50% 20%, rgba(255, 196, 0, 0.025), transparent 26rem), + var(--black); } -.site-header { - display: flex; - align-items: center; - justify-content: space-between; - width: min(100% - 3rem, 92rem); - min-height: 5.5rem; - margin: 0 auto; - border-bottom: 1px solid var(--color-line); +.brand-hero { + position: relative; + display: grid; + place-content: center; + justify-items: center; + min-height: 100svh; + padding: 4rem 1.5rem; + background: var(--black); + isolation: isolate; } -.brand, -.footer-brand { - display: inline-flex; - align-items: center; - gap: 0.7rem; - font-family: var(--font-mono); - font-size: 0.92rem; - font-weight: 700; - letter-spacing: -0.04em; - text-decoration: none; +.brand-hero::before { + position: absolute; + inset: 0; + z-index: -1; + background: + linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px), + linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px); + background-size: 48px 48px; + content: ""; + mask-image: radial-gradient(circle at center, black, transparent 72%); } -.brand img, -.footer-brand img { - image-rendering: pixelated; +.brand-hero::after { + position: absolute; + top: 50%; + left: 50%; + z-index: -1; + width: min(75vw, 48rem); + aspect-ratio: 1; + border-radius: 50%; + background: rgba(255, 196, 0, 0.035); + filter: blur(80px); + content: ""; + transform: translate(-50%, -55%); } -.site-header nav { - display: flex; - align-items: center; - gap: clamp(1.1rem, 2.5vw, 2.5rem); +.brand-eyes { + width: clamp(17rem, 45vw, 42rem); + height: auto; + mix-blend-mode: screen; + animation: eyes-in 900ms var(--ease) both; } -.site-header nav a { - font-family: var(--font-mono); - font-size: var(--text-xs); - letter-spacing: 0.05em; +.brand-tagline { + margin: clamp(2rem, 5vw, 4rem) 0 0; + color: var(--white); + font-family: var(--mono); + font-size: clamp(1.15rem, 2.4vw, 2rem); + font-weight: 400; + letter-spacing: 0.08em; + animation: tagline-in 900ms 180ms var(--ease) both; +} + +.brand-tagline span { + color: var(--yellow); +} + +.scroll-cue { + position: absolute; + bottom: 2.5rem; + left: 50%; + display: flex; + align-items: center; + gap: 0.8rem; + color: var(--dim); + font-family: var(--mono); + font-size: 0.62rem; + letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; + transform: translateX(-50%); + transition: color var(--fast); } -.site-header nav a:hover, -.text-link:hover, -.footer-links a:hover { - color: var(--color-signal-deep); +.scroll-cue:hover { + color: var(--yellow); } -.hero { - display: grid; - grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr); - width: min(100% - 3rem, 92rem); - min-height: calc(100vh - 5.5rem); +.intro-section, +.console-section, +.install-section, +.boundary-section, +.ecosystem-section { + width: var(--page); margin: 0 auto; - border-bottom: 1px solid var(--color-line); + padding: var(--section-space) 0; + border-top: 1px solid var(--line); +} + +.intro-section { + min-height: 100svh; + border-top: 0; } -.hero-copy { +.intro-index, +.section-kicker, +.terminal-bar, +.console-label { display: flex; - flex-direction: column; - justify-content: center; - padding: clamp(5rem, 10vw, 10rem) clamp(2.5rem, 7vw, 7.5rem) 5rem 0; + justify-content: space-between; + color: var(--dim); + font-family: var(--mono); + font-size: 0.62rem; + font-weight: 600; + letter-spacing: 0.12em; + text-transform: uppercase; +} + +.intro-index { + padding-bottom: 1.2rem; + border-bottom: 1px solid var(--line); +} + +.intro-grid { + display: grid; + grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr); + gap: clamp(4rem, 10vw, 10rem); + align-items: end; + padding-top: clamp(6rem, 12vw, 11rem); } .eyebrow { display: flex; align-items: center; - gap: 0.7rem; - margin: 0 0 1.5rem; - color: var(--color-muted); - font-family: var(--font-mono); - font-size: var(--text-xs); - font-weight: 700; - letter-spacing: 0.09em; + gap: 0.75rem; + margin: 0 0 2rem; + color: var(--muted); + font-family: var(--mono); + font-size: 0.65rem; + font-weight: 600; + letter-spacing: 0.12em; text-transform: uppercase; } .signal { - width: 0.55rem; - height: 0.55rem; - background: var(--color-signal); - box-shadow: 0 0 0 4px rgba(242, 183, 5, 0.16); + width: 0.5rem; + height: 0.5rem; + background: var(--yellow); + box-shadow: 0 0 18px rgba(255, 196, 0, 0.55); } -.hero h1 { - max-width: 14ch; +.intro-grid h1, +.section-heading h2, +.method-section > h2, +.install-copy h2, +.ecosystem-heading h2, +.closing-section h2 { margin: 0; - font-family: var(--font-display); - font-size: var(--text-xl); + color: var(--white); + font-size: clamp(2.8rem, 6vw, 6.4rem); font-weight: 500; - letter-spacing: -0.055em; - line-height: 0.94; + letter-spacing: -0.06em; + line-height: 0.92; } -.hero h1 span { +.intro-grid h1 { + max-width: 12ch; +} + +.intro-grid h1 span { display: block; - color: var(--color-signal-deep); - font-style: italic; + color: var(--yellow); +} + +.intro-detail { + padding-bottom: 0.5rem; } .hero-intro { - max-width: 39rem; - margin: 2.3rem 0 0; - color: var(--color-muted); - font-size: clamp(1.05rem, 1.7vw, 1.3rem); - line-height: 1.55; + margin: 0; + color: #b0aea7; + font-size: clamp(1.05rem, 1.8vw, 1.35rem); + line-height: 1.6; } .hero-actions, @@ -202,7 +244,7 @@ main { display: flex; align-items: center; flex-wrap: wrap; - gap: 1.35rem; + gap: 1.4rem; margin-top: 2.6rem; } @@ -210,31 +252,31 @@ main { display: inline-flex; align-items: center; justify-content: center; - min-height: 3rem; - padding: 0.75rem 1.15rem; - border: 1px solid var(--color-ink); - border-radius: var(--radius-sm); - font-family: var(--font-mono); - font-size: var(--text-xs); + min-height: 3.2rem; + padding: 0.85rem 1.2rem; + border: 1px solid var(--line-strong); + border-radius: 0; + font-family: var(--mono); + font-size: 0.65rem; font-weight: 700; - letter-spacing: 0.04em; + letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; - transition: background var(--duration-fast), color var(--duration-fast), transform var(--duration-fast); -} - -.button:hover { - transform: translateY(-2px); + transition: + background var(--fast), + border-color var(--fast), + color var(--fast); } .button-primary { - background: var(--color-night); - color: var(--color-paper); + background: var(--yellow); + border-color: var(--yellow); + color: var(--black); } .button-primary:hover { - background: var(--color-signal-deep); - border-color: var(--color-signal-deep); + background: var(--white); + border-color: var(--white); } .button-secondary { @@ -242,33 +284,39 @@ main { } .button-secondary:hover { - background: rgba(255, 255, 255, 0.3); + border-color: var(--yellow); + color: var(--yellow); } .text-link { - font-family: var(--font-mono); - font-size: var(--text-xs); + color: var(--muted); + font-family: var(--mono); + font-size: 0.65rem; font-weight: 700; - letter-spacing: 0.04em; - text-underline-offset: 0.3rem; + letter-spacing: 0.07em; + text-underline-offset: 0.35rem; text-transform: uppercase; + transition: color var(--fast); +} + +.text-link:hover { + color: var(--yellow); } .hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); - max-width: 39rem; - margin: 4.5rem 0 0; - border-top: 1px solid var(--color-line); + margin: 4rem 0 0; + border-top: 1px solid var(--line); } .hero-facts div { - padding: 1rem 0; - border-right: 1px solid var(--color-line); + padding: 1rem 0.75rem 0 0; + border-right: 1px solid var(--line); } .hero-facts div + div { - padding-left: 1rem; + padding-left: 0.75rem; } .hero-facts div:last-child { @@ -276,99 +324,30 @@ main { } .hero-facts dt { - color: var(--color-muted); - font-family: var(--font-mono); - font-size: 0.64rem; - letter-spacing: 0.08em; + color: var(--dim); + font-family: var(--mono); + font-size: 0.58rem; + letter-spacing: 0.1em; text-transform: uppercase; } .hero-facts dd { - margin: 0.18rem 0 0; - font-size: var(--text-sm); + margin: 0.25rem 0 0; + font-size: 0.8rem; font-weight: 600; } -.hero-visual { - position: relative; - display: flex; - align-items: flex-end; - min-height: 42rem; - padding: 4rem 2rem; - background: - linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px), - linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), - var(--color-night); - background-size: 28px 28px; - overflow: hidden; -} - -.hero-visual::before { - position: absolute; - inset: 11% 8%; - border: 1px solid rgba(242, 183, 5, 0.22); - box-shadow: 18px 18px 0 rgba(242, 183, 5, 0.035); - content: ""; -} - -.brand-symbol { - position: absolute; - z-index: 1; - top: 50%; - left: 50%; - width: min(78%, 36rem); - height: auto; - mix-blend-mode: screen; - transform: translate(-50%, -50%); -} - -.ledger-mark { - position: absolute; - z-index: 2; - top: 3rem; - left: 2rem; - display: grid; - color: rgba(248, 245, 237, 0.45); - font-family: var(--font-mono); - font-size: 0.62rem; - letter-spacing: 0.18em; - line-height: 1.8; -} - -.visual-caption { - position: relative; - z-index: 2; - margin: 0; - color: var(--color-paper); - font-family: var(--font-mono); - font-size: clamp(1rem, 2vw, 1.45rem); - letter-spacing: 0.04em; -} - -.visual-caption span { - color: var(--color-signal); -} - -.console-section, -.method-section, -.boundary-section, -.ecosystem-section { - width: min(100% - 3rem, 82rem); - margin: 0 auto; - padding: var(--space-12) 0; -} - .section-heading { display: grid; - grid-template-columns: 1.2fr 1fr; + grid-template-columns: 1.15fr 0.85fr; align-items: end; - gap: 3rem; - margin-bottom: 3rem; + gap: clamp(3rem, 8vw, 8rem); + margin-bottom: 5rem; } .section-heading .eyebrow { grid-column: 1 / -1; - margin-bottom: -1rem; + margin-bottom: -2rem; } .section-heading h2, @@ -376,54 +355,50 @@ main { .install-copy h2, .ecosystem-heading h2, .closing-section h2 { - margin: 0; - font-family: var(--font-display); - font-size: clamp(2.2rem, 4.5vw, 4.4rem); - font-weight: 500; - letter-spacing: -0.045em; - line-height: 1; + font-size: clamp(2.5rem, 5vw, 5.3rem); } .section-heading > p:last-child, .ecosystem-heading > p, .install-copy > p { - max-width: 34rem; margin: 0; - color: var(--color-muted); + color: var(--muted); } .decision-console { - border: 1px solid var(--color-ink); - background: var(--color-paper); - box-shadow: var(--shadow-paper); + border: 1px solid var(--line-strong); + background: var(--surface); + box-shadow: 0 40px 120px rgba(0, 0, 0, 0.55); } .console-tabs { display: flex; - border-bottom: 1px solid var(--color-ink); + overflow-x: auto; + border-bottom: 1px solid var(--line-strong); } .console-tabs button { display: inline-flex; + flex: 0 0 auto; align-items: center; gap: 0.65rem; - min-height: 3.25rem; - padding: 0 1.25rem; + min-height: 3.4rem; + padding: 0 1.4rem; border: 0; - border-right: 1px solid var(--color-line); + border-right: 1px solid var(--line); background: transparent; - color: var(--color-muted); + color: var(--dim); cursor: pointer; - font-family: var(--font-mono); - font-size: var(--text-xs); + font-family: var(--mono); + font-size: 0.62rem; font-weight: 700; - letter-spacing: 0.04em; + letter-spacing: 0.08em; text-transform: uppercase; } .console-tabs button[aria-selected="true"] { - background: var(--color-night); - color: var(--color-paper); + background: var(--yellow); + color: var(--black); } .tab-marker { @@ -433,53 +408,41 @@ main { } .console-tabs button[aria-selected="true"] .tab-marker { - background: var(--color-signal); - border-color: var(--color-signal); + background: var(--black); + border-color: var(--black); } .console-body { display: grid; grid-template-columns: 1fr 1fr; - min-height: 24rem; - animation: reveal var(--duration-base) var(--ease-out); + min-height: 27rem; + animation: content-in var(--base) var(--ease); } .query-pane, .result-pane { - padding: clamp(1.5rem, 4vw, 3.2rem); + padding: clamp(2rem, 5vw, 4.5rem); } .query-pane { display: flex; flex-direction: column; justify-content: space-between; - border-right: 1px solid var(--color-line); + border-right: 1px solid var(--line); } .result-pane { background: - linear-gradient(rgba(248,245,237,0.04) 1px, transparent 1px), - var(--color-night-soft); - background-size: 100% 30px; - color: var(--color-paper); -} - -.console-label, -.terminal-bar { - display: flex; - justify-content: space-between; - color: var(--color-muted); - font-family: var(--font-mono); - font-size: 0.62rem; - font-weight: 700; - letter-spacing: 0.1em; - text-transform: uppercase; + linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px), + var(--surface-raised); + background-size: 100% 32px; } .query-pane blockquote { - margin: 2.5rem 0; - font-family: var(--font-display); - font-size: clamp(1.8rem, 3.1vw, 3rem); + margin: 3rem 0; + font-size: clamp(1.8rem, 3.2vw, 3.25rem); + font-weight: 400; + letter-spacing: -0.04em; line-height: 1.1; } @@ -487,72 +450,72 @@ main { display: flex; align-items: center; flex-wrap: wrap; - gap: 0.55rem; - color: var(--color-muted); - font-family: var(--font-mono); - font-size: 0.65rem; + gap: 0.6rem; + color: var(--dim); + font-family: var(--mono); + font-size: 0.62rem; } .query-route span:nth-child(odd) { - padding: 0.3rem 0.4rem; - border: 1px solid var(--color-line); - background: rgba(255, 255, 255, 0.3); + padding: 0.35rem 0.45rem; + border: 1px solid var(--line); } .verified { - color: #9ac08f; + color: var(--green); } .artifact-id { - margin: 3rem 0 0.6rem; - color: var(--color-signal); - font-family: var(--font-mono); - font-size: var(--text-sm); + margin: 3.2rem 0 0.75rem; + color: var(--yellow); + font-family: var(--mono); + font-size: 0.75rem; font-weight: 700; - letter-spacing: 0.08em; + letter-spacing: 0.1em; } .result-pane h3 { margin: 0; - font-family: var(--font-display); - font-size: clamp(1.9rem, 3vw, 2.8rem); + font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 500; - line-height: 1.05; + letter-spacing: -0.045em; + line-height: 1; } .artifact-answer { max-width: 34rem; - margin-top: 1.5rem; - color: #cfcdc5; + margin-top: 1.8rem; + color: #aaa8a1; } .artifact-related { - margin-top: 2rem; - color: #888980; - font-family: var(--font-mono); - font-size: 0.7rem; - letter-spacing: 0.05em; + margin-top: 2.5rem; + color: var(--dim); + font-family: var(--mono); + font-size: 0.65rem; + letter-spacing: 0.08em; text-transform: uppercase; } .artifact-related span { - color: var(--color-paper); + color: var(--white); } .console-footer { display: grid; grid-template-columns: repeat(4, 1fr); - border-top: 1px solid var(--color-ink); - font-family: var(--font-mono); - font-size: 0.6rem; + border-top: 1px solid var(--line-strong); + color: var(--dim); + font-family: var(--mono); + font-size: 0.58rem; font-weight: 700; - letter-spacing: 0.07em; + letter-spacing: 0.08em; text-align: center; } .console-footer span { - padding: 0.75rem 0.4rem; - border-right: 1px solid var(--color-line); + padding: 0.9rem 0.4rem; + border-right: 1px solid var(--line); } .console-footer span:last-child { @@ -561,68 +524,60 @@ main { .method-section { width: 100%; - padding-right: max(1.5rem, calc((100% - 82rem) / 2)); - padding-left: max(1.5rem, calc((100% - 82rem) / 2)); - background: var(--color-night); - color: var(--color-paper); + padding: var(--section-space) max(1.5rem, calc((100% - 86rem) / 2)); + border-top: 1px solid var(--line); + background: var(--yellow); + color: var(--black); } -.section-kicker { - display: flex; - justify-content: space-between; - padding-bottom: 1rem; - border-bottom: 1px solid #3d3d36; - color: #8d8e84; - font-family: var(--font-mono); - font-size: 0.65rem; - letter-spacing: 0.08em; +.method-section .section-kicker { + color: rgba(0, 0, 0, 0.48); + border-color: rgba(0, 0, 0, 0.22); } .method-section > h2 { max-width: 12ch; - margin-top: 4rem; + margin-top: 5rem; + color: var(--black); } .principle-list { - margin-top: 5rem; - border-top: 1px solid #3d3d36; + margin-top: 6rem; + border-top: 1px solid rgba(0, 0, 0, 0.26); } .principle { display: grid; - grid-template-columns: 5rem 0.7fr 1.3fr; + grid-template-columns: 5rem 0.65fr 1.35fr; align-items: baseline; - gap: 1.5rem; - padding: 2rem 0; - border-bottom: 1px solid #3d3d36; + gap: 2rem; + padding: 2.4rem 0; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); } .principle-number { - color: var(--color-signal); - font-family: var(--font-mono); - font-size: var(--text-xs); + font-family: var(--mono); + font-size: 0.65rem; } .principle h3 { margin: 0; - font-family: var(--font-display); font-size: 2rem; font-weight: 500; + letter-spacing: -0.035em; } .principle p { - max-width: 35rem; + max-width: 38rem; margin: 0; - color: #aaa99f; + color: rgba(0, 0, 0, 0.67); } .install-section { display: grid; - grid-template-columns: 0.8fr 1.2fr; - gap: clamp(3rem, 8vw, 8rem); - width: min(100% - 3rem, 82rem); - margin: 0 auto; - padding: var(--space-12) 0; + grid-template-columns: 0.75fr 1.25fr; + gap: clamp(4rem, 10vw, 10rem); + align-items: center; } .install-copy h2 { @@ -630,46 +585,43 @@ main { } .install-copy > p { - margin: 2rem 0; + margin: 2.2rem 0; } .terminal { - align-self: center; - border: 1px solid var(--color-ink); - background: var(--color-night); - color: var(--color-paper); - box-shadow: 14px 14px 0 var(--color-signal); + border: 1px solid var(--line-strong); + background: var(--surface); + box-shadow: 18px 18px 0 var(--yellow); } .terminal-bar { - padding: 0.75rem 1rem; - border-bottom: 1px solid #3d3d36; - color: #8d8e84; + padding: 0.8rem 1rem; + border-bottom: 1px solid var(--line); } .terminal ol { margin: 0; - padding: 1.6rem 0; + padding: 1.8rem 0; list-style: none; } .terminal li { display: grid; grid-template-columns: 3.5rem 1fr; - padding: 0.55rem 1rem; + padding: 0.6rem 1rem; } .line-number { - color: #5f6058; - font-family: var(--font-mono); - font-size: 0.68rem; + color: var(--dim); + font-family: var(--mono); + font-size: 0.65rem; } .terminal code { overflow-x: auto; - color: #e5e2d9; - font-family: var(--font-mono); - font-size: clamp(0.66rem, 1.2vw, 0.82rem); + color: #d8d6cf; + font-family: var(--mono); + font-size: clamp(0.65rem, 1.2vw, 0.8rem); white-space: nowrap; } @@ -677,184 +629,198 @@ main { display: flex; gap: 0.7rem; padding: 1rem; - border-top: 1px solid #3d3d36; - color: #9ac08f; - font-family: var(--font-mono); - font-size: 0.7rem; -} - -.boundary-section { - border-top: 1px solid var(--color-line); + border-top: 1px solid var(--line); + color: var(--green); + font-family: var(--mono); + font-size: 0.68rem; } .boundary-grid { display: grid; grid-template-columns: 1fr 7rem 1fr; - margin-top: 4rem; + margin-top: 5rem; } .boundary-side { - min-height: 20rem; - padding: clamp(2rem, 5vw, 4rem); - border: 1px solid var(--color-ink); + min-height: 22rem; + padding: clamp(2rem, 5vw, 4.5rem); + border: 1px solid var(--line-strong); } .boundary-agent { - background: var(--color-paper); + background: var(--surface); } .boundary-human { - background: var(--color-signal); + background: var(--white); + color: var(--black); } .boundary-label { - font-family: var(--font-mono); - font-size: 0.65rem; + color: var(--muted); + font-family: var(--mono); + font-size: 0.62rem; font-weight: 700; - letter-spacing: 0.09em; + letter-spacing: 0.1em; +} + +.boundary-human .boundary-label { + color: #696760; } .boundary-side h3 { - margin: 5rem 0 1rem; - font-family: var(--font-display); - font-size: clamp(2rem, 3.4vw, 3.2rem); + margin: 6rem 0 1.2rem; + font-size: clamp(2rem, 3.5vw, 3.6rem); font-weight: 500; + letter-spacing: -0.045em; line-height: 1; } .boundary-side p { - max-width: 29rem; + max-width: 30rem; margin: 0; + color: var(--muted); +} + +.boundary-human p { + color: #5f5d57; } .boundary-line { + position: relative; display: grid; place-items: center; - position: relative; } .boundary-line::before { position: absolute; width: 1px; height: 100%; - background: var(--color-ink); + background: var(--line-strong); content: ""; } .boundary-line span { z-index: 1; - padding: 0.7rem 0.35rem; - background: var(--color-ground); - font-family: var(--font-mono); - font-size: 0.6rem; + padding: 0.8rem 0.4rem; + background: var(--black); + color: var(--yellow); + font-family: var(--mono); + font-size: 0.58rem; font-weight: 700; - letter-spacing: 0.08em; + letter-spacing: 0.1em; writing-mode: vertical-rl; } -.ecosystem-section { - border-top: 1px solid var(--color-line); -} - .ecosystem-heading { display: grid; grid-template-columns: 1fr 0.65fr; align-items: end; - gap: 4rem; + gap: 5rem; } .repository-list { - margin-top: 4rem; - border-top: 1px solid var(--color-ink); + margin-top: 5rem; + border-top: 1px solid var(--line-strong); } .repository-row { display: grid; - grid-template-columns: 0.7fr 1.5fr 0.55fr auto; + grid-template-columns: 0.65fr 1.45fr 0.55fr auto; align-items: center; gap: 2rem; - min-height: 5.5rem; - border-bottom: 1px solid var(--color-line); + min-height: 6rem; + border-bottom: 1px solid var(--line); text-decoration: none; - transition: padding var(--duration-base) var(--ease-out), background var(--duration-fast); + transition: + padding var(--base) var(--ease), + color var(--fast); } .repository-row:hover { padding: 0 1rem; - background: rgba(248, 245, 237, 0.65); + color: var(--yellow); } .repository-name { - font-family: var(--font-display); - font-size: 1.5rem; + font-size: 1.4rem; + font-weight: 500; + letter-spacing: -0.035em; } .repository-description { - color: var(--color-muted); + color: var(--muted); } .repository-status { justify-self: start; padding: 0.28rem 0.45rem; - border: 1px solid var(--color-line-strong); - font-family: var(--font-mono); - font-size: 0.58rem; + border: 1px solid var(--line-strong); + color: var(--muted); + font-family: var(--mono); + font-size: 0.56rem; font-weight: 700; - letter-spacing: 0.05em; + letter-spacing: 0.06em; text-transform: uppercase; } .closing-section { - width: min(100% - 3rem, 92rem); - margin: 0 auto; - padding: var(--space-12) clamp(1.5rem, 7vw, 7rem); + display: grid; + place-content: center; + justify-items: center; + min-height: 78svh; + padding: var(--section-space) 1.5rem; + border-top: 1px solid var(--line); background: - linear-gradient(90deg, transparent 49.8%, rgba(242, 183, 5, 0.18) 50%, transparent 50.2%), - var(--color-night); - color: var(--color-paper); + radial-gradient(circle, rgba(255, 196, 0, 0.08), transparent 30rem), + var(--black); text-align: center; } .closing-index { - color: var(--color-signal); - font-family: var(--font-mono); - font-size: 0.68rem; - letter-spacing: 0.1em; + color: var(--yellow); + font-family: var(--mono); + font-size: 0.62rem; + letter-spacing: 0.13em; } .closing-section h2 { max-width: 16ch; - margin: 2rem auto 0; + margin: 2.5rem auto 0; } .closing-actions { justify-content: center; } -.closing-section .button-primary { - background: var(--color-signal); - border-color: var(--color-signal); - color: var(--color-ink); -} - -.closing-section .button-secondary { - border-color: #5a5a52; - color: var(--color-paper); -} - footer { display: grid; grid-template-columns: 1fr 1.5fr 1fr; align-items: center; gap: 2rem; - width: min(100% - 3rem, 92rem); - min-height: 8rem; + width: var(--page); + min-height: 9rem; margin: 0 auto; + border-top: 1px solid var(--line); +} + +.footer-brand { + display: inline-flex; + align-items: center; + gap: 0.7rem; + font-family: var(--mono); + font-size: 0.82rem; + font-weight: 700; +} + +.footer-brand img { + image-rendering: pixelated; } footer > p { - color: var(--color-muted); - font-size: var(--text-sm); + color: var(--dim); + font-family: var(--mono); + font-size: 0.68rem; text-align: center; } @@ -865,53 +831,86 @@ footer > p { } .footer-links a { - font-family: var(--font-mono); - font-size: var(--text-xs); + color: var(--muted); + font-family: var(--mono); + font-size: 0.62rem; text-transform: uppercase; } -@keyframes reveal { +.footer-links a:hover { + color: var(--yellow); +} + +@keyframes eyes-in { from { opacity: 0; - transform: translateY(8px); + transform: scale(0.92); + filter: blur(10px); } to { opacity: 1; - transform: translateY(0); + transform: scale(1); + filter: blur(0); } } -@media (max-width: 950px) { - .hero { - grid-template-columns: 1fr; +@keyframes tagline-in { + from { + opacity: 0; + transform: translateY(12px); } - - .hero-copy { - min-height: calc(100vh - 5.5rem); - padding-right: 0; + to { + opacity: 1; + transform: translateY(0); } +} - .hero-visual { - min-height: 38rem; +@keyframes content-in { + from { + opacity: 0; + transform: translateY(8px); + } + to { + opacity: 1; + transform: translateY(0); } +} +@media (max-width: 960px) { + .intro-grid, .section-heading, .install-section, .ecosystem-heading { grid-template-columns: 1fr; } + .intro-grid { + align-items: start; + } + + .intro-detail { + max-width: 38rem; + } + + .section-heading { + gap: 2rem; + } + + .section-heading .eyebrow { + margin-bottom: 0; + } + .console-body { grid-template-columns: 1fr; } .query-pane { border-right: 0; - border-bottom: 1px solid var(--color-line); + border-bottom: 1px solid var(--line); } .principle { - grid-template-columns: 3.5rem 0.7fr 1.3fr; + grid-template-columns: 4rem 0.7fr 1.3fr; } .boundary-grid { @@ -942,31 +941,39 @@ footer > p { @media (max-width: 680px) { :root { - --space-12: 5.5rem; + --page: min(100% - 2rem, 86rem); + --section-space: 6.5rem; } - .site-header, - .hero, - .console-section, - .install-section, - .boundary-section, - .ecosystem-section, - .closing-section, - footer { - width: min(100% - 2rem, 92rem); + .brand-eyes { + width: min(82vw, 22rem); } - .site-header nav a:not(:last-child) { + .brand-tagline { + font-size: 1rem; + letter-spacing: 0.05em; + } + + .scroll-cue { + bottom: 1.75rem; + } + + .intro-index span:last-child { display: none; } - .hero-copy { - min-height: auto; - padding: 5rem 0 4rem; + .intro-grid { + gap: 3.5rem; + padding-top: 5rem; } - .hero h1 { - font-size: clamp(3.1rem, 15vw, 4.8rem); + .intro-grid h1 { + font-size: clamp(3rem, 14vw, 4.7rem); + } + + .hero-actions { + align-items: flex-start; + flex-direction: column; } .hero-facts { @@ -975,32 +982,26 @@ footer > p { .hero-facts div, .hero-facts div + div { - padding: 0.7rem 0; + padding: 0.75rem 0; border-right: 0; - border-bottom: 1px solid var(--color-line); - } - - .hero-visual { - min-height: 31rem; - margin-right: -1rem; - margin-left: -1rem; - padding: 2rem 1rem; - } - - .brand-symbol { - width: 86%; + border-bottom: 1px solid var(--line); } .section-heading { - gap: 1.5rem; + margin-bottom: 3.5rem; } - .console-tabs { - overflow-x: auto; + .section-heading h2, + .method-section > h2, + .install-copy h2, + .ecosystem-heading h2, + .closing-section h2 { + font-size: clamp(2.6rem, 12vw, 4rem); } - .console-tabs button { - flex: 0 0 auto; + .query-pane, + .result-pane { + padding: 1.5rem; } .console-footer { @@ -1012,7 +1013,7 @@ footer > p { } .console-footer span:nth-child(-n + 2) { - border-bottom: 1px solid var(--color-line); + border-bottom: 1px solid var(--line); } .principle { @@ -1023,22 +1024,26 @@ footer > p { grid-column: 2; } - .section-kicker span { - display: none; + .terminal { + box-shadow: 8px 8px 0 var(--yellow); } - .terminal { - box-shadow: 7px 7px 0 var(--color-signal); + .terminal li { + grid-template-columns: 2.5rem 1fr; } .boundary-side { - min-height: 18rem; + min-height: 19rem; + } + + .boundary-side h3 { + margin-top: 4.5rem; } .repository-row { grid-template-columns: 1fr auto; gap: 0.5rem; - padding: 1.1rem 0; + padding: 1.2rem 0; } .repository-description { @@ -1048,7 +1053,7 @@ footer > p { footer { grid-template-columns: 1fr; - padding: 2.5rem 0; + padding: 3rem 0; text-align: center; } diff --git a/app/page.tsx b/app/page.tsx index bc8a38a..2be77cc 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -64,31 +64,40 @@ function Arrow() { export default function Home() { return ( <main> - <header className="site-header"> - <a className="brand" href="#top" aria-label="AsDecided home"> - <img src="/favicon.png" alt="" width="32" height="32" /> - <span>AsDecided</span> + <section className="brand-hero" id="top" aria-labelledby="brand-tagline"> + <img + className="brand-eyes" + src="/brand-mark.jpg" + alt="AsDecided stepped yellow eyes" + width="720" + height="280" + /> + <p className="brand-tagline" id="brand-tagline"> + Build, as decided<span>.</span> + </p> + <a className="scroll-cue" href="#introduction" aria-label="Discover AsDecided"> + <span>Scroll to inspect</span> + <span aria-hidden="true">↓</span> </a> - <nav aria-label="Primary navigation"> - <a href="#method">Method</a> - <a href="#install">Install</a> - <a href="#ecosystem">Ecosystem</a> - <a href="https://github.com/asdecided"> - GitHub <Arrow /> - </a> - </nav> - </header> + </section> - <section className="hero" id="top"> - <div className="hero-copy"> + <section className="intro-section" id="introduction" aria-labelledby="intro-title"> + <div className="intro-index"> + <span>AS DECIDED / 001</span> + <span>LOCAL DECISION INFRASTRUCTURE</span> + </div> + <div className="intro-grid"> + <div> <p className="eyebrow"> <span className="signal" aria-hidden="true" /> - Local decision infrastructure + The product </p> - <h1> + <h1 id="intro-title"> Your agents can move fast <span>without rewriting the past.</span> </h1> + </div> + <div className="intro-detail"> <p className="hero-intro"> AsDecided keeps the product decisions behind your code in a typed, validated record your coding agents can actually follow. @@ -118,22 +127,7 @@ export default function Home() { <dd>Markdown + Git</dd> </div> </dl> - </div> - - <div className="hero-visual"> - <div className="ledger-mark" aria-hidden="true"> - <span>DECISION</span> - <span>RELATION</span> - <span>RECORD</span> </div> - <img - className="brand-symbol" - src="/brand-mark.jpg" - alt="AsDecided stepped decision-link mark" - width="720" - height="280" - /> - <p className="visual-caption">Build, as decided<span>.</span></p> </div> </section> From 79c832ddccf347ab832784f84c731277f3f785a5 Mon Sep 17 00:00:00 2001 From: Tom Ballard <tom@armytage.co> Date: Sun, 26 Jul 2026 17:01:48 +0100 Subject: [PATCH 3/4] feat: reveal the AsDecided tagline on scroll --- app/BrandHero.tsx | 61 ++++++++++++++++ app/globals.css | 60 ++++++---------- app/page.tsx | 131 +++++------------------------------ tests/rendered-html.test.mjs | 3 +- 4 files changed, 100 insertions(+), 155 deletions(-) create mode 100644 app/BrandHero.tsx diff --git a/app/BrandHero.tsx b/app/BrandHero.tsx new file mode 100644 index 0000000..7da3969 --- /dev/null +++ b/app/BrandHero.tsx @@ -0,0 +1,61 @@ +"use client"; + +import { useEffect, useRef } from "react"; + +export function BrandHero() { + const heroRef = useRef<HTMLElement>(null); + + useEffect(() => { + const hero = heroRef.current; + if (!hero) return; + + let frame = 0; + + const update = () => { + frame = 0; + const revealDistance = Math.max(window.innerHeight * 0.42, 280); + const progress = Math.min(Math.max(window.scrollY / revealDistance, 0), 1); + hero.style.setProperty("--reveal", progress.toFixed(3)); + }; + + const onScroll = () => { + if (!frame) frame = window.requestAnimationFrame(update); + }; + + update(); + window.addEventListener("scroll", onScroll, { passive: true }); + window.addEventListener("resize", onScroll); + + return () => { + window.removeEventListener("scroll", onScroll); + window.removeEventListener("resize", onScroll); + if (frame) window.cancelAnimationFrame(frame); + }; + }, []); + + return ( + <section + className="brand-hero" + id="top" + ref={heroRef} + aria-labelledby="brand-tagline" + > + <div className="brand-hero-inner"> + <img + className="brand-eyes" + src="/brand-mark.jpg" + alt="AsDecided stepped yellow eyes" + width="720" + height="280" + /> + <p className="brand-tagline" id="brand-tagline"> + Build, as decided<span>.</span> + </p> + <span className="scroll-cue" aria-hidden="true"> + Scroll + <span>↓</span> + </span> + </div> + </section> + ); +} diff --git a/app/globals.css b/app/globals.css index eb56338..25bdf5b 100644 --- a/app/globals.css +++ b/app/globals.css @@ -57,7 +57,7 @@ button { } main { - overflow: hidden; + overflow-x: clip; background: radial-gradient(circle at 50% 20%, rgba(255, 196, 0, 0.025), transparent 26rem), var(--black); @@ -65,16 +65,24 @@ main { .brand-hero { position: relative; + height: 145svh; + background: var(--black); + isolation: isolate; + --reveal: 0; +} + +.brand-hero-inner { + position: sticky; + top: 0; display: grid; place-content: center; justify-items: center; - min-height: 100svh; + height: 100svh; padding: 4rem 1.5rem; - background: var(--black); - isolation: isolate; + overflow: hidden; } -.brand-hero::before { +.brand-hero-inner::before { position: absolute; inset: 0; z-index: -1; @@ -86,7 +94,7 @@ main { mask-image: radial-gradient(circle at center, black, transparent 72%); } -.brand-hero::after { +.brand-hero-inner::after { position: absolute; top: 50%; left: 50%; @@ -104,7 +112,11 @@ main { width: clamp(17rem, 45vw, 42rem); height: auto; mix-blend-mode: screen; - animation: eyes-in 900ms var(--ease) both; + opacity: calc(1 - var(--reveal) * 0.08); + transform: + translateY(calc(var(--reveal) * -3.5rem)) + scale(calc(1 - var(--reveal) * 0.045)); + transition: filter var(--base); } .brand-tagline { @@ -114,7 +126,8 @@ main { font-size: clamp(1.15rem, 2.4vw, 2rem); font-weight: 400; letter-spacing: 0.08em; - animation: tagline-in 900ms 180ms var(--ease) both; + opacity: var(--reveal); + transform: translateY(calc(2rem - var(--reveal) * 2rem)); } .brand-tagline span { @@ -132,14 +145,9 @@ main { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.12em; - text-decoration: none; text-transform: uppercase; transform: translateX(-50%); - transition: color var(--fast); -} - -.scroll-cue:hover { - color: var(--yellow); + opacity: calc(1 - var(--reveal) * 2); } .intro-section, @@ -841,30 +849,6 @@ footer > p { color: var(--yellow); } -@keyframes eyes-in { - from { - opacity: 0; - transform: scale(0.92); - filter: blur(10px); - } - to { - opacity: 1; - transform: scale(1); - filter: blur(0); - } -} - -@keyframes tagline-in { - from { - opacity: 0; - transform: translateY(12px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - @keyframes content-in { from { opacity: 0; diff --git a/app/page.tsx b/app/page.tsx index 2be77cc..949a075 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,62 +1,45 @@ import { DecisionConsole } from "./DecisionConsole"; +import { BrandHero } from "./BrandHero"; const repositories = [ { name: "Core", status: "Available", - description: "The native Rust CLI and read-only MCP server.", + description: "Native CLI and read-only MCP.", href: "https://github.com/asdecided/core", }, { name: "Specification", status: "Open contract", - description: "The language-neutral RAC schemas and conformance fixtures.", + description: "The language-neutral contract.", href: "https://github.com/asdecided/spec", }, { name: "CI", status: "Available", - description: "GitHub Actions that make the record part of the merge gate.", + description: "Decision-aware merge gates.", href: "https://github.com/asdecided/ci", }, { name: "Connectors", status: "Pre-release", - description: "Explicit bridges from external systems into the decision record.", + description: "Explicit inbound bridges.", href: "https://github.com/asdecided/connectors", }, { name: "Proofkeeper", status: "Available", - description: "Turns a recorded capability into a test that can be run again.", + description: "Requirements turned into tests.", href: "https://github.com/asdecided/proofkeeper", }, { name: "Benchmarks", status: "Measured", - description: "Deterministic evaluation without an LLM judge.", + description: "Evidence without an LLM judge.", href: "https://github.com/asdecided/benchmarks", }, ]; -const principles = [ - { - number: "01", - title: "Record", - copy: "Requirements, decisions, designs, roadmaps, and prompts stay as typed Markdown beside the code they govern.", - }, - { - number: "02", - title: "Reject", - copy: "The native engine catches malformed artifacts, broken relationships, and retired decisions before they land.", - }, - { - number: "03", - title: "Ground", - copy: "Coding agents query a read-only MCP server and cite the current record by stable artifact ID.", - }, -]; - function Arrow() { return <span aria-hidden="true">↗</span>; } @@ -64,22 +47,7 @@ function Arrow() { export default function Home() { return ( <main> - <section className="brand-hero" id="top" aria-labelledby="brand-tagline"> - <img - className="brand-eyes" - src="/brand-mark.jpg" - alt="AsDecided stepped yellow eyes" - width="720" - height="280" - /> - <p className="brand-tagline" id="brand-tagline"> - Build, as decided<span>.</span> - </p> - <a className="scroll-cue" href="#introduction" aria-label="Discover AsDecided"> - <span>Scroll to inspect</span> - <span aria-hidden="true">↓</span> - </a> - </section> + <BrandHero /> <section className="intro-section" id="introduction" aria-labelledby="intro-title"> <div className="intro-index"> @@ -99,34 +67,14 @@ export default function Home() { </div> <div className="intro-detail"> <p className="hero-intro"> - AsDecided keeps the product decisions behind your code in a typed, - validated record your coding agents can actually follow. + Keep decisions as validated Markdown. Serve them read-only to every + coding agent. </p> <div className="hero-actions"> <a className="button button-primary" href="#install"> Install the native core <span aria-hidden="true">↓</span> </a> - <a - className="text-link" - href="https://github.com/asdecided/core/blob/main/docs/quickstart.md" - > - Read the quickstart <Arrow /> - </a> </div> - <dl className="hero-facts" aria-label="Product properties"> - <div> - <dt>Runtime</dt> - <dd>Native Rust</dd> - </div> - <div> - <dt>Retrieval</dt> - <dd>Deterministic</dd> - </div> - <div> - <dt>Storage</dt> - <dd>Markdown + Git</dd> - </div> - </dl> </div> </div> </section> @@ -136,37 +84,19 @@ export default function Home() { <p className="eyebrow">The signature interaction</p> <h2 id="console-title">Ask the repository, not another model.</h2> <p> - Retrieval makes no model call and uses no embeddings. The same - record and query produce the same cited result. + No embeddings. No model call. The same query returns the same cited + decision. </p> </div> <DecisionConsole /> </section> - <section className="method-section" id="method" aria-labelledby="method-title"> - <div className="section-kicker"> - <p>THE METHOD</p> - <span>Three moves. One governed record.</span> - </div> - <h2 id="method-title">Decisions become infrastructure.</h2> - <div className="principle-list"> - {principles.map((principle) => ( - <article key={principle.number} className="principle"> - <span className="principle-number">{principle.number}</span> - <h3>{principle.title}</h3> - <p>{principle.copy}</p> - </article> - ))} - </div> - </section> - <section className="install-section" id="install" aria-labelledby="install-title"> <div className="install-copy"> <p className="eyebrow">Five-minute start</p> <h2 id="install-title">Put one real decision on the record.</h2> <p> - Install the native engine and MCP server, scaffold a first artifact, - then validate it before connecting an agent. + Install Core. Create an artifact. Validate it. </p> <a className="text-link" @@ -201,43 +131,14 @@ export default function Home() { </div> </section> - <section className="boundary-section" aria-labelledby="boundary-title"> - <div className="section-heading"> - <p className="eyebrow">A deliberately narrow trust boundary</p> - <h2 id="boundary-title">Your agent can read the record. It cannot rewrite it.</h2> - </div> - <div className="boundary-grid"> - <div className="boundary-side boundary-agent"> - <span className="boundary-label">AGENT SIDE</span> - <h3>Search. Retrieve. Cite.</h3> - <p> - The MCP surface is read-only. Agents get grounded context without - gaining a hidden write path into your decisions. - </p> - </div> - <div className="boundary-line" aria-hidden="true"> - <span>READ ONLY</span> - </div> - <div className="boundary-side boundary-human"> - <span className="boundary-label">HUMAN SIDE</span> - <h3>Edit. Review. Merge.</h3> - <p> - Decisions change through ordinary files and pull requests, with - validation and history visible to the team. - </p> - </div> - </div> - </section> - <section className="ecosystem-section" id="ecosystem" aria-labelledby="ecosystem-title"> <div className="ecosystem-heading"> <div> <p className="eyebrow">The public system</p> - <h2 id="ecosystem-title">Small repositories. Explicit responsibilities.</h2> + <h2 id="ecosystem-title">One boundary per repository.</h2> </div> <p> - Core is the runtime. Everything else owns one boundary around it. - Status is stated plainly while the ecosystem is still taking shape. + Core runs it. Companions own CI, integrations, and evidence. </p> </div> <div className="repository-list"> @@ -254,7 +155,7 @@ export default function Home() { <section className="closing-section"> <p className="closing-index">AS DECIDED / 001</p> - <h2>Make the decision once. Let every agent inherit it.</h2> + <h2>Decide once. Let every agent inherit it.</h2> <div className="closing-actions"> <a className="button button-primary" href="#install"> Start with Core diff --git a/tests/rendered-html.test.mjs b/tests/rendered-html.test.mjs index 9252a70..272f005 100644 --- a/tests/rendered-html.test.mjs +++ b/tests/rendered-html.test.mjs @@ -36,7 +36,6 @@ test("server-renders the AsDecided product site", async () => { assert.match(html, /without rewriting the past/); assert.match(html, /brew install asdecided\/tap\/asdecided-core/); assert.match(html, /Ask the repository, not another model/); - assert.match(html, /A deliberately narrow trust boundary/); - assert.match(html, /Small repositories\. Explicit responsibilities\./); + assert.match(html, /One boundary per repository\./); assert.doesNotMatch(html, /codex-preview|Your site is taking shape/i); }); From 0b2145b7abc2e2f65dcfa179f5553412cd568715 Mon Sep 17 00:00:00 2001 From: Tom Ballard <tom@armytage.co> Date: Sun, 26 Jul 2026 18:59:12 +0100 Subject: [PATCH 4/4] docs(site): add the AsDecided knowledge base --- .github/workflows/knowledge-base.yml | 56 +++++++++ .gitignore | 2 + README.md | 34 ++++-- knowledge/assets/brand-mark.jpg | Bin 0 -> 17806 bytes knowledge/assets/favicon.png | Bin 0 -> 6578 bytes knowledge/concepts/index.md | 40 +++++++ knowledge/ecosystem.md | 20 ++++ knowledge/how-to/index.md | 26 ++++ knowledge/index.md | 73 ++++++++++++ knowledge/reference/index.md | 12 ++ knowledge/spec/index.md | 24 ++++ knowledge/spec/schemas.md | 14 +++ knowledge/start-here.md | 31 +++++ knowledge/stylesheets/knowledge.css | 172 +++++++++++++++++++++++++++ mkdocs.yml | 79 ++++++++++++ scripts/vendor-knowledge.sh | 30 +++++ 16 files changed, 605 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/knowledge-base.yml create mode 100644 knowledge/assets/brand-mark.jpg create mode 100644 knowledge/assets/favicon.png create mode 100644 knowledge/concepts/index.md create mode 100644 knowledge/ecosystem.md create mode 100644 knowledge/how-to/index.md create mode 100644 knowledge/index.md create mode 100644 knowledge/reference/index.md create mode 100644 knowledge/spec/index.md create mode 100644 knowledge/spec/schemas.md create mode 100644 knowledge/start-here.md create mode 100644 knowledge/stylesheets/knowledge.css create mode 100644 mkdocs.yml create mode 100755 scripts/vendor-knowledge.sh diff --git a/.github/workflows/knowledge-base.yml b/.github/workflows/knowledge-base.yml new file mode 100644 index 0000000..c4bfb64 --- /dev/null +++ b/.github/workflows/knowledge-base.yml @@ -0,0 +1,56 @@ +name: Knowledge base + +on: + pull_request: + paths: + - ".github/workflows/knowledge-base.yml" + - "knowledge/**" + - "mkdocs.yml" + - "scripts/vendor-knowledge.sh" + push: + branches: [main] + paths: + - ".github/workflows/knowledge-base.yml" + - "knowledge/**" + - "mkdocs.yml" + - "scripts/vendor-knowledge.sh" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install MkDocs + run: pip install mkdocs==1.6.1 mkdocs-material==9.7.6 + - name: Vendor authoritative knowledge + run: ./scripts/vendor-knowledge.sh + - name: Build knowledge base + run: mkdocs build --strict + - if: github.event_name != 'pull_request' + uses: actions/upload-pages-artifact@v3 + with: + path: site + + deploy: + if: github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 236cfc6..e91bce8 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,5 @@ next-env.d.ts /.wrangler/ /outputs/ /work/ +/knowledge/vendor/ +/site/ diff --git a/README.md b/README.md index 125ffc9..e606ad0 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,39 @@ -# AsDecided Website +# AsDecided on the web -The public product site for [AsDecided](https://github.com/asdecided): local, -deterministic decision infrastructure for coding agents. +Two public surfaces for [AsDecided](https://github.com/asdecided): -## Development +- The product site is the concise introduction to AsDecided. It is deployed + through ChatGPT Sites. +- GitHub Pages is the searchable knowledge base for the specification, + concepts, guides, and reference material. -```sh +## Product site + +```console npm ci npm run dev ``` Build and verify the deployable site with: -```sh +```console npm run build npm test ``` -The site is deployed through ChatGPT Sites. Technical documentation remains -owned by the repository that implements each product surface. +## Knowledge base + +The knowledge base has a small set of owned navigation pages under +`knowledge/`. Authoritative product documentation and specification material +are vendored at build time from +[`asdecided/core`](https://github.com/asdecided/core) and +[`asdecided/spec`](https://github.com/asdecided/spec), so this repository +organizes those sources without forking them. + +```console +./scripts/vendor-knowledge.sh +uv run --with mkdocs==1.6.1 --with mkdocs-material==9.7.6 mkdocs serve +``` + +Pull requests build the knowledge base in strict mode. Merges to `main` deploy +it to GitHub Pages. diff --git a/knowledge/assets/brand-mark.jpg b/knowledge/assets/brand-mark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85b1a1063496f5bb4e5df233f19e240c7fce9d37 GIT binary patch literal 17806 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 literal 0 HcmV?d00001 diff --git a/knowledge/assets/favicon.png b/knowledge/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..362c67c2738795b7393d50816697c07bf43ca4c2 GIT binary patch literal 6578 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 DdPro` literal 0 HcmV?d00001 diff --git a/knowledge/concepts/index.md b/knowledge/concepts/index.md new file mode 100644 index 0000000..23d5bec --- /dev/null +++ b/knowledge/concepts/index.md @@ -0,0 +1,40 @@ +# Knowledge model + +AsDecided turns product knowledge into a small, enforceable graph. + +## Five artifact types + +- **Requirement** — the problem, required behavior, and success measure. +- **Decision** — a choice, its context, and consequences. +- **Design** — the implementation shape that realizes requirements and decisions. +- **Roadmap** — sequenced delivery intent. +- **Prompt** — durable instructions an agent should inherit. + +Each artifact has stable identity, a lifecycle, type-specific sections, and +typed relationships. + +## Identity survives refactoring + +An artifact ID remains stable when its file moves or is renamed. Paths organize +the repository; IDs carry meaning across time. + +## Lifecycle is closed + +Status is not free-form metadata. The specification defines the allowed states +and the rules for supersession, so consumers can distinguish current knowledge +from history. + +## Relationships are checked + +Links such as `related decisions`, `related requirements`, and `supersedes` +form a typed graph. Validation catches missing targets, invalid edge types, +self-reference, and supersession cycles. + +## Retrieval is deterministic + +Core uses no embeddings and makes no model call to retrieve the record. The same +corpus and query produce the same ordered result. + +Next: [Artifact types](../vendor/core/artifacts.md) · +[Relationships](../vendor/core/relationships.md) · +[Normative specification](../vendor/spec/SPEC.md) diff --git a/knowledge/ecosystem.md b/knowledge/ecosystem.md new file mode 100644 index 0000000..754a75f --- /dev/null +++ b/knowledge/ecosystem.md @@ -0,0 +1,20 @@ +# Ecosystem + +Core is the runtime. Each companion owns one explicit boundary. + +| Repository | Responsibility | Status | +|---|---|---| +| [`core`](https://github.com/asdecided/core) | native CLI and read-only MCP server | available | +| [`spec`](https://github.com/asdecided/spec) | language-neutral RAC contract | pre-1.0 | +| [`ci`](https://github.com/asdecided/ci) | GitHub merge gates | available | +| [`connectors`](https://github.com/asdecided/connectors) | external-system bridges | pre-release | +| [`proofkeeper`](https://github.com/asdecided/proofkeeper) | requirements-to-test workflow | available | +| [`benchmarks`](https://github.com/asdecided/benchmarks) | deterministic evaluation suites | active | +| [`sdk`](https://github.com/asdecided/sdk) | language clients over stable contracts | transition | +| [`editors`](https://github.com/asdecided/editors) | editor integrations | not yet installable | + +Install the current native runtime with: + +```sh +brew install asdecided/tap/asdecided-core +``` diff --git a/knowledge/how-to/index.md b/knowledge/how-to/index.md new file mode 100644 index 0000000..2a29cc2 --- /dev/null +++ b/knowledge/how-to/index.md @@ -0,0 +1,26 @@ +# How-to guides + +Task-focused routes through the AsDecided operating model. + +## Adopt + +- [Create and validate the first artifact](../vendor/core/quickstart.md) +- [Organize a repository](../vendor/core/repo-workflow.md) +- [Connect a coding agent over MCP](../vendor/core/mcp.md) + +## Enforce + +- [Validate a corpus and manage overrides](../vendor/core/validation.md) +- [Surface relevant decisions on pull requests](../vendor/core/decisions-on-pr.md) +- [Review product-knowledge quality with Watchkeeper](../vendor/core/watchkeeper.md) + +## Operate + +- [Run a shared server](../vendor/core/shared-server.md) +- [Control context cost](../vendor/core/context-cost.md) +- [Plan for corpus scale](../vendor/core/scale.md) + +## Extend + +- [Document another agent integration](../vendor/core/integration-recipes.md) +- [Use the CLI and stable JSON contracts](../vendor/core/cli.md) diff --git a/knowledge/index.md b/knowledge/index.md new file mode 100644 index 0000000..6d7673f --- /dev/null +++ b/knowledge/index.md @@ -0,0 +1,73 @@ +--- +hide: + - navigation + - toc +--- + +<div class="kb-hero" markdown> + +![AsDecided](assets/brand-mark.jpg){ .kb-mark } + +# The AsDecided knowledge base + +The specification, operating model, and practical guides for building a +decision record your coding agents can follow. + +[Start with the model](start-here.md){ .md-button .md-button--primary } +[Read the specification](spec/index.md){ .md-button } + +</div> + +<div class="kb-paths" markdown> + +<div class="kb-path" markdown> + +## Start + +Install the native engine, record one real decision, validate it, and connect +an agent. + +[Five-minute quickstart](vendor/core/quickstart.md) + +</div> + +<div class="kb-path" markdown> + +## Understand + +Learn how typed artifacts, stable identity, lifecycle, and relationships form a +governed record. + +[Knowledge model](concepts/index.md) + +</div> + +<div class="kb-path" markdown> + +## Implement + +Read the language-neutral contract, schemas, vocabularies, and conformance +levels. + +[Specification map](spec/index.md) + +</div> + +<div class="kb-path" markdown> + +## Operate + +Add merge gates, review knowledge quality, connect clients, and run at team +scale. + +[How-to index](how-to/index.md) + +</div> + +</div> + +!!! info "Where does the truth live?" + Normative RAC material is sourced from + [`asdecided/spec`](https://github.com/asdecided/spec). Product behavior and + commands are sourced from [`asdecided/core`](https://github.com/asdecided/core). + This site organizes those sources; it does not fork them. diff --git a/knowledge/reference/index.md b/knowledge/reference/index.md new file mode 100644 index 0000000..50e73d0 --- /dev/null +++ b/knowledge/reference/index.md @@ -0,0 +1,12 @@ +# Reference map + +Use reference pages when you already know what surface you need. + +- [CLI commands, options, JSON, and exit contracts](../vendor/core/cli.md) +- [Artifact types and required sections](../vendor/core/artifacts.md) +- [Relationship vocabulary and validation](../vendor/core/relationships.md) +- [Validation, findings, overrides, and SARIF](../vendor/core/validation.md) +- [MCP tools and client configuration](../vendor/core/mcp.md) +- [Security posture](../vendor/core/security.md) +- [Scale and performance](../vendor/core/scale.md) +- [OKF interoperability profile](../vendor/core/okf-profile.md) diff --git a/knowledge/spec/index.md b/knowledge/spec/index.md new file mode 100644 index 0000000..8771075 --- /dev/null +++ b/knowledge/spec/index.md @@ -0,0 +1,24 @@ +# Specification map + +RAC—Requirements as Code—is the language-neutral contract beneath AsDecided. + +The contract is pre-1.0 and maintained in +[`asdecided/spec`](https://github.com/asdecided/spec). This knowledge base +vendors the released text at build time so the searchable copy stays attached +to its authoritative source. + +## Normative material + +| Surface | Defines | +|---|---| +| [RAC specification](../vendor/spec/SPEC.md) | artifact model, identity, lifecycle, relationships, validation, compatibility | +| [Status vocabulary](../vendor/spec/vocabulary/status.md) | closed lifecycle values and semantics | +| [Relationship vocabulary](../vendor/spec/vocabulary/relationships.md) | allowed typed edges | +| [Conformance](../vendor/spec/conformance/conformance.md) | levels, fixtures, and parity expectations | +| [Schemas](schemas.md) | machine-readable artifact and frontmatter contracts | + +## Implementation boundary + +The specification does not require Rust, MCP, or the AsDecided CLI. +[`asdecided/core`](https://github.com/asdecided/core) is the reference +implementation, not the definition of the format. diff --git a/knowledge/spec/schemas.md b/knowledge/spec/schemas.md new file mode 100644 index 0000000..25a58ea --- /dev/null +++ b/knowledge/spec/schemas.md @@ -0,0 +1,14 @@ +# Machine-readable schemas + +The authoritative schemas are published in +[`asdecided/spec/schema`](https://github.com/asdecided/spec/tree/main/schema). + +| File | Purpose | +|---|---| +| [`artifact.schema.json`](https://github.com/asdecided/spec/blob/main/schema/artifact.schema.json) | common artifact structure | +| [`frontmatter.schema.json`](https://github.com/asdecided/spec/blob/main/schema/frontmatter.schema.json) | identity and metadata envelope | +| [`artifact-specs.json`](https://github.com/asdecided/spec/blob/main/schema/artifact-specs.json) | artifact types, sections, and relationship fields | + +Use the schemas with the +[conformance fixtures](https://github.com/asdecided/spec/tree/main/conformance) +when implementing another parser or consumer. diff --git a/knowledge/start-here.md b/knowledge/start-here.md new file mode 100644 index 0000000..f7a921b --- /dev/null +++ b/knowledge/start-here.md @@ -0,0 +1,31 @@ +# Start here + +AsDecided is a local system of record for the product knowledge behind your +code. + +Requirements, decisions, designs, roadmaps, and prompts live as typed Markdown +in Git. The native engine validates the record before it lands. A read-only MCP +server lets coding agents search, retrieve, relate, and cite that record. + +## The shortest useful path + +1. [Install Core and create one artifact](vendor/core/quickstart.md). +2. Run `decided validate decisions/`. +3. [Connect your coding agent](vendor/core/mcp.md). +4. Ask a question already covered by the record. +5. Add [decision-aware pull-request checks](vendor/core/decisions-on-pr.md). + +## Choose what you need + +| If you want to… | Go to… | +|---|---| +| understand the artifact model | [Concepts](concepts/index.md) | +| adopt AsDecided in a repository | [Repository workflow](vendor/core/repo-workflow.md) | +| implement the format yourself | [Specification](spec/index.md) | +| find a command or exit contract | [CLI reference](vendor/core/cli.md) | +| operate it across a team | [How-to guides](how-to/index.md) | + +## The trust boundary + +Agents can read the record through MCP. They cannot mutate it. Decisions change +through ordinary files, review, and merge. diff --git a/knowledge/stylesheets/knowledge.css b/knowledge/stylesheets/knowledge.css new file mode 100644 index 0000000..c19d823 --- /dev/null +++ b/knowledge/stylesheets/knowledge.css @@ -0,0 +1,172 @@ +@font-face { + font-family: "AsDecided Mono"; + src: local("SFMono-Regular"), local("Cascadia Mono"), local("Consolas"); + font-display: swap; +} + +:root { + --as-black: #000; + --as-surface: #090909; + --as-white: #f4f2ec; + --as-muted: #96938b; + --as-line: rgba(244, 242, 236, 0.13); + --as-yellow: #ffc400; + --as-mono: "AsDecided Mono", ui-monospace, monospace; +} + +[data-md-color-scheme="slate"] { + --md-default-bg-color: var(--as-black); + --md-default-fg-color: var(--as-white); + --md-default-fg-color--light: var(--as-muted); + --md-default-fg-color--lighter: #6e6c66; + --md-default-fg-color--lightest: var(--as-line); + --md-primary-fg-color: var(--as-black); + --md-primary-bg-color: var(--as-white); + --md-accent-fg-color: var(--as-yellow); + --md-typeset-a-color: var(--as-yellow); + --md-code-bg-color: var(--as-surface); + --md-code-fg-color: var(--as-white); + --md-footer-bg-color: var(--as-black); + --md-footer-bg-color--dark: var(--as-black); +} + +body { + background: + radial-gradient(circle at 50% 0, rgba(255, 196, 0, 0.035), transparent 28rem), + var(--as-black); +} + +.md-header { + background: rgba(0, 0, 0, 0.9); + border-bottom: 1px solid var(--as-line); + box-shadow: none; + backdrop-filter: blur(14px); +} + +.md-header__title, +.md-tabs, +.md-nav__title, +.md-nav__link, +.md-search__input, +.md-typeset code { + font-family: var(--as-mono); +} + +.md-header__button.md-logo img { + image-rendering: pixelated; +} + +.md-main__inner { + margin-top: 2rem; +} + +.md-sidebar { + scrollbar-color: #35342f transparent; +} + +.md-nav__link--active, +.md-nav__link:hover { + color: var(--as-yellow); +} + +.md-typeset h1, +.md-typeset h2, +.md-typeset h3 { + color: var(--as-white); + font-weight: 560; + letter-spacing: -0.035em; +} + +.md-typeset h1 { + font-size: clamp(2.2rem, 5vw, 4.6rem); + line-height: 0.98; +} + +.md-typeset h2 { + padding-top: 1.2rem; + border-top: 1px solid var(--as-line); +} + +.md-typeset table:not([class]) { + border: 1px solid var(--as-line); + background: var(--as-surface); + box-shadow: none; +} + +.md-typeset table:not([class]) th { + background: #10100f; + color: var(--as-white); + font-family: var(--as-mono); + font-size: 0.68rem; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.md-typeset .admonition, +.md-typeset details { + border: 1px solid var(--as-line); + background: var(--as-surface); + box-shadow: none; +} + +.md-button { + border-radius: 0 !important; + font-family: var(--as-mono); + font-size: 0.72rem; + letter-spacing: 0.05em; + text-transform: uppercase; +} + +.md-button--primary { + background: var(--as-yellow) !important; + border-color: var(--as-yellow) !important; + color: var(--as-black) !important; +} + +.kb-hero { + min-height: 52vh; + padding: 5rem 0 4rem; +} + +.kb-mark { + width: min(20rem, 65vw); + margin-bottom: 3rem; + mix-blend-mode: screen; +} + +.kb-hero h1 { + max-width: 12ch; +} + +.kb-hero > p:not(:first-child) { + max-width: 44rem; + color: var(--as-muted); + font-size: 1.15rem; +} + +.kb-paths { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1px; + margin: 3rem 0; + border: 1px solid var(--as-line); + background: var(--as-line); +} + +.kb-path { + min-height: 13rem; + padding: 1.5rem; + background: var(--as-black); +} + +.kb-paths h2 { + margin-top: 0; + padding-top: 0; + border-top: 0; +} + +@media (max-width: 700px) { + .kb-paths { + grid-template-columns: 1fr; + } +} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..3eecc16 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,79 @@ +site_name: AsDecided Knowledge Base +site_description: >- + The specification, concepts, how-to guides, and reference for AsDecided. +site_url: https://asdecided.github.io/ +repo_url: https://github.com/asdecided +repo_name: asdecided +docs_dir: knowledge + +theme: + name: material + font: false + language: en + logo: assets/favicon.png + favicon: assets/favicon.png + palette: + scheme: slate + features: + - content.code.copy + - navigation.indexes + - navigation.sections + - navigation.top + - search.highlight + - search.suggest + - toc.follow + +plugins: + - search + +markdown_extensions: + - admonition + - attr_list + - md_in_html + +extra_css: + - stylesheets/knowledge.css + +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/asdecided + +copyright: "© 2026 AsDecided · Build, as decided." + +validation: + links: + not_found: info + +nav: + - Home: index.md + - Start here: + - Overview: start-here.md + - Five-minute quickstart: vendor/core/quickstart.md + - Connect an agent: vendor/core/mcp.md + - Concepts: + - Knowledge model: concepts/index.md + - Artifact types: vendor/core/artifacts.md + - Relationships: vendor/core/relationships.md + - Repository workflow: vendor/core/repo-workflow.md + - Specification: + - Specification map: spec/index.md + - Normative RAC specification: vendor/spec/SPEC.md + - Status lifecycle: vendor/spec/vocabulary/status.md + - Relationship vocabulary: vendor/spec/vocabulary/relationships.md + - Conformance: vendor/spec/conformance/conformance.md + - Schemas: spec/schemas.md + - How to: + - How-to index: how-to/index.md + - Validate a corpus: vendor/core/validation.md + - Surface decisions on PRs: vendor/core/decisions-on-pr.md + - Review product knowledge: vendor/core/watchkeeper.md + - Operate a shared server: vendor/core/shared-server.md + - Integrate another agent: vendor/core/integration-recipes.md + - Reference: + - Reference map: reference/index.md + - CLI: vendor/core/cli.md + - Security: vendor/core/security.md + - Scale and performance: vendor/core/scale.md + - OKF profile: vendor/core/okf-profile.md + - Ecosystem: ecosystem.md diff --git a/scripts/vendor-knowledge.sh b/scripts/vendor-knowledge.sh new file mode 100755 index 0000000..fa5b4c0 --- /dev/null +++ b/scripts/vendor-knowledge.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +vendor_root="$root/knowledge/vendor" +temp_root="$(mktemp -d)" +trap 'rm -rf "$temp_root"' EXIT + +rm -rf "$vendor_root" +mkdir -p "$vendor_root" + +git clone --depth 1 --filter=blob:none --sparse \ + https://github.com/asdecided/core.git "$temp_root/core" +git -C "$temp_root/core" sparse-checkout set docs +cp -R "$temp_root/core/docs" "$vendor_root/core" +# The Core documentation homepage uses a repository-local MkDocs template. +# This knowledge base provides its own homepage and does not link to that file. +rm -f "$vendor_root/core/index.md" + +git clone --depth 1 --filter=blob:none --sparse \ + https://github.com/asdecided/spec.git "$temp_root/spec" +git -C "$temp_root/spec" sparse-checkout set \ + vocabulary conformance schema +mkdir -p "$vendor_root/spec" +cp "$temp_root/spec/SPEC.md" "$vendor_root/spec/SPEC.md" +cp -R "$temp_root/spec/vocabulary" "$vendor_root/spec/vocabulary" +cp -R "$temp_root/spec/conformance" "$vendor_root/spec/conformance" +cp -R "$temp_root/spec/schema" "$vendor_root/spec/schema" + +echo "Vendored Core documentation and RAC specification."